public final class Permission
extends java.lang.Object
Manifest.permission
doc : https://developer.android.google.cn/reference/android/Manifest.permission?hl=zh_cn
https://developer.android.google.cn/guide/topics/permissions/overview?hl=zh-cn#normal-dangerous| Modifier and Type | Class and Description |
|---|---|
static class |
Permission.Group
权限组
|
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ACCEPT_HANDOVER
允许呼叫应用继续在另一个应用中启动的呼叫(需要 Android 9.0 及以上)
|
static java.lang.String |
ACCESS_BACKGROUND_LOCATION
在后台获取位置(需要 Android 10.0 及以上)
需要注意的是:如果你的 App 只在前台状态下使用定位功能,请不要申请该权限
|
static java.lang.String |
ACCESS_COARSE_LOCATION
获取粗略位置
|
static java.lang.String |
ACCESS_FINE_LOCATION
获取精确位置
|
static java.lang.String |
ACCESS_MEDIA_LOCATION
读取照片中的地理位置(需要 Android 10.0 及以上)
需要注意的是:如果这个权限申请成功了但是不能正常读取照片的地理信息,那么需要先申请存储权限:
如果项目 targetSdkVersion <= 29 需要申请
Permission.Group.STORAGE
如果项目 targetSdkVersion >= 30 需要申请 MANAGE_EXTERNAL_STORAGE |
static java.lang.String |
ACTIVITY_RECOGNITION
获取活动步数(需要 Android 10.0 及以上)
|
static java.lang.String |
ADD_VOICEMAIL
添加语音邮件
|
static java.lang.String |
ANSWER_PHONE_CALLS
接听电话(需要 Android 8.0 及以上,Android 8.0 以下可以采用模拟耳机按键事件来实现接听电话,这种方式不需要权限)
|
static java.lang.String |
BLUETOOTH_ADVERTISE
蓝牙广播权限(需要 Android 12.0 及以上)
将当前设备的蓝牙进行广播,供其他设备扫描时需要用到该权限
为了兼容 Android 12 以下版本,需要在清单文件中注册
Manifest.permission#BLUETOOTH_ADMIN 权限 |
static java.lang.String |
BLUETOOTH_CONNECT
蓝牙连接权限(需要 Android 12.0 及以上)
为了兼容 Android 12 以下版本,需要在清单文件中注册
Manifest.permission#BLUETOOTH 权限 |
static java.lang.String |
BLUETOOTH_SCAN
蓝牙扫描权限(需要 Android 12.0 及以上)
为了兼容 Android 12 以下版本,需要清单文件中注册
Manifest.permission#BLUETOOTH_ADMIN 权限
还有 Android 12 以下设备,获取蓝牙扫描结果需要模糊定位权限,框架会自动在旧的安卓设备上自动添加此权限进行动态申请 |
static java.lang.String |
BODY_SENSORS
使用传感器
|
static java.lang.String |
CALL_PHONE
拨打电话
|
static java.lang.String |
CAMERA
相机权限
|
static java.lang.String |
GET_ACCOUNTS
访问账户列表
|
static java.lang.String |
MANAGE_EXTERNAL_STORAGE
文件管理权限(特殊权限,需要 Android 11 及以上)
为了兼容 Android 11 以下版本,需要在清单文件中注册
READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限
如果你的应用需要上架 GooglePlay,那么需要详细查看:https://support.google.com/googleplay/android-developer/answer/9956427 |
static java.lang.String |
NOTIFICATION_SERVICE
通知栏权限(特殊权限,注意此权限不需要在清单文件中注册也能申请)
|
static java.lang.String |
PACKAGE_USAGE_STATS
查看应用使用情况权限,简称读取包权限(特殊权限,Android 5.0 之后才有的权限)
|
static java.lang.String |
PROCESS_OUTGOING_CALLS
Deprecated.
在 Android 10 已经过时,请见:https://developer.android.google.cn/reference/android/Manifest.permission?hl=zh_cn#PROCESS_OUTGOING_CALLS
|
static java.lang.String |
READ_CALENDAR
读取日历
|
static java.lang.String |
READ_CALL_LOG
读取通话记录
|
static java.lang.String |
READ_CONTACTS
读取联系人
|
static java.lang.String |
READ_EXTERNAL_STORAGE
读取外部存储
|
static java.lang.String |
READ_PHONE_NUMBERS
读取手机号码(需要 Android 8.0 及以上)
为了兼容 Android 8.0 以下版本,需要在清单文件中注册
Manifest.permission#READ_PHONE_STATE 权限 |
static java.lang.String |
READ_PHONE_STATE
读取电话状态
需要注意的是:这个权限在某些手机上面是没办法获取到的,因为某些系统禁止应用获得该权限
所以你要是申请了这个权限之后没有弹授权框,而是直接回调授权失败方法
请不要惊慌,这个不是 Bug、不是 Bug、不是 Bug,而是正常现象
后续情况汇报:有人反馈在 iQOO 手机上面获取不到该权限,在清单文件加入下面这个权限就可以了(这里只是做记录,并不代表这种方式就一定有效果)
|
static java.lang.String |
READ_SMS
读取短信
|
static java.lang.String |
RECEIVE_MMS
接收彩信
|
static java.lang.String |
RECEIVE_SMS
接收短信
|
static java.lang.String |
RECEIVE_WAP_PUSH
接收 WAP 推送消息
|
static java.lang.String |
RECORD_AUDIO
麦克风权限
|
static java.lang.String |
REQUEST_INSTALL_PACKAGES
安装应用权限(特殊权限,需要 Android 8.0 及以上)
Android 11 特性调整,安装外部来源应用需要重启 App:https://cloud.tencent.com/developer/news/637591
经过实践,Android 12 已经修复了此问题,授权或者取消授权后应用并不会重启
|
static java.lang.String |
SEND_SMS
发送短信
|
static java.lang.String |
SYSTEM_ALERT_WINDOW
悬浮窗权限(特殊权限)
在 Android 10 及之前的版本能跳转到应用悬浮窗设置页面,而在 Android 11 及之后的版本只能跳转到系统设置悬浮窗管理列表了
官方解释:https://developer.android.google.cn/reference/android/provider/Settings#ACTION_MANAGE_OVERLAY_PERMISSION
|
static java.lang.String |
USE_SIP
使用SIP视频
|
static java.lang.String |
WRITE_CALENDAR
修改日历
|
static java.lang.String |
WRITE_CALL_LOG
修改通话记录
|
static java.lang.String |
WRITE_CONTACTS
修改联系人
|
static java.lang.String |
WRITE_EXTERNAL_STORAGE
写入外部存储
|
static java.lang.String |
WRITE_SETTINGS
系统设置权限(特殊权限)
|
public static final java.lang.String MANAGE_EXTERNAL_STORAGE
READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限
如果你的应用需要上架 GooglePlay,那么需要详细查看:https://support.google.com/googleplay/android-developer/answer/9956427public static final java.lang.String REQUEST_INSTALL_PACKAGES
public static final java.lang.String SYSTEM_ALERT_WINDOW
public static final java.lang.String WRITE_SETTINGS
public static final java.lang.String NOTIFICATION_SERVICE
public static final java.lang.String PACKAGE_USAGE_STATS
public static final java.lang.String READ_EXTERNAL_STORAGE
public static final java.lang.String WRITE_EXTERNAL_STORAGE
public static final java.lang.String CAMERA
public static final java.lang.String RECORD_AUDIO
public static final java.lang.String ACCESS_FINE_LOCATION
public static final java.lang.String ACCESS_COARSE_LOCATION
public static final java.lang.String ACCESS_BACKGROUND_LOCATION
public static final java.lang.String BLUETOOTH_SCAN
Manifest.permission#BLUETOOTH_ADMIN 权限
还有 Android 12 以下设备,获取蓝牙扫描结果需要模糊定位权限,框架会自动在旧的安卓设备上自动添加此权限进行动态申请public static final java.lang.String BLUETOOTH_CONNECT
Manifest.permission#BLUETOOTH 权限public static final java.lang.String BLUETOOTH_ADVERTISE
Manifest.permission#BLUETOOTH_ADMIN 权限public static final java.lang.String READ_CONTACTS
public static final java.lang.String WRITE_CONTACTS
public static final java.lang.String GET_ACCOUNTS
public static final java.lang.String READ_CALENDAR
public static final java.lang.String WRITE_CALENDAR
public static final java.lang.String ACCESS_MEDIA_LOCATION
Permission.Group.STORAGE
如果项目 targetSdkVersion >= 30 需要申请 MANAGE_EXTERNAL_STORAGEpublic static final java.lang.String READ_PHONE_STATE
public static final java.lang.String CALL_PHONE
public static final java.lang.String READ_CALL_LOG
public static final java.lang.String WRITE_CALL_LOG
public static final java.lang.String ADD_VOICEMAIL
public static final java.lang.String USE_SIP
public static final java.lang.String PROCESS_OUTGOING_CALLS
public static final java.lang.String ANSWER_PHONE_CALLS
public static final java.lang.String READ_PHONE_NUMBERS
Manifest.permission#READ_PHONE_STATE 权限public static final java.lang.String BODY_SENSORS
public static final java.lang.String ACTIVITY_RECOGNITION
public static final java.lang.String SEND_SMS
public static final java.lang.String RECEIVE_SMS
public static final java.lang.String READ_SMS
public static final java.lang.String RECEIVE_WAP_PUSH
public static final java.lang.String RECEIVE_MMS
public static final java.lang.String ACCEPT_HANDOVER