一、简介
权限的目的为了保护用户隐私,应用在访问一些敏感数据时,必须事先取得用户授权后才能使用,比如:比如读取sdcard、访问通讯录等。
在Android6.0之前的设备上,系统不会提醒用户正在获取的权限。一旦安装应用,就意味着该应用所需的所有权限均已经得到授权。在这种情况下应用可以自由收集用户隐私信息。或者随意发送短信。为了解决这个问题在Android6.0之后的设备上,应用需要动态授权,当需要使用某个权限时,会弹出一个提醒框来征求用户意见,只有取得用户同意后才能继续使用。
二、权限分类
1.Normal Permissions(普通权限):这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等
2.Dangerous Permission(危险权限):这类权限是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等
三、权限列表
名称 | 权限 | 描述 | 分类 |
---|---|---|---|
访问登记属性 | ACCESS_CHECKIN_PROPERTIES | 允许读取或写入登记check-in数据库属性表的权限 | 普通权限 |
获取错略位置 | ACCESS_COARSE_LOCATION | 允许通过无线网络或移动基站的方式获取用户的经纬度信息 | 危险权限 |
获取精确位置 | ACCESS_FINE_LOCATION | 允许通过GPS接收卫星的定位信息 | 危险权限 |
访问定位额外命令 | ACCESS_LOCATION_EXTRA_COMMANDS | 允许程序访问额外的定位提供者指令 | 普通权限 |
获取模拟定位信息 | ACCESS_MOCK_LOCATION | 允许获取模拟定位信息,一般用于帮助开发者调试应用 | 普通权限 |
获取网络状态 | ACCESS_NETWORK_STATE | 允许获取网络信息状态 | 普通权限 |
访问通知策略 | ACCESS_NOTIFICATION_POLICY | 允许访问通知策略的应用程序的标记许可 | 普通权限 |
获取WiFi状态 | ACCESS_WIFI_STATE | 允许获取当前WiFi接入的状态以及WLAN热点的信息 | 普通权限 |
账户管理 | ACCOUNT_MANAGER | 允许程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息 | 普通权限 |
验证账户 | AUTHENTICATE_ACCOUNTS | 允许一个应用程序添加语音邮件系统 | 普通权限 |
允许接听来电 | ANSWER_PHONE_CALLS | 允许接听来电 | 普通权限 |
电量统计 | BATTERY_STATS | 允许获取电池电量统计信息 | 普通权限 |
只有系统可以绑定到accessibilityservice | BIND_ACCESSIBILITY_SERVICE | 请求accessibilityservice服务,以确保只有系统可以绑定到它 | 普通权限 |
绑定小插件 | BIND_APPWIDGET | 允许应用程序告诉AppWidget服务应用程序可以访问AppWidget的数据 | 普通权限 |
绑定设备管理 | BIND_DEVICE_ADMIN | 请求系统管理员接收者receiver,只有系统才能使用 | 普通权限 |
绑定输入法 | BIND_INPUT_METHOD | 请求InputMethodService服务,只有系统才能使用 | 普通权限 |
只有系统绑定到HostApduService或OffHostApduService | BIND_NFC_SERVICE | 由HostApduService或OffHostApduService,必须确保只有系统绑定到它 | 普通权限 |
只有系统绑定到NotificationListenerService | BIND_NOTIFICATION_LISTENER_SERVICE | 必须要求由NotificationListenerService,以确保只有系统可以绑定到它 | 普通权限 |
只有系统可以绑定PrintService | BIND_PRINT_SERVICE | 必须要求由PrintService,以确保只有系统可以绑定到它 | 普通权限 |
绑定RemoteView | BIND_REMOTEVIEWS | 必须通过RemoteViewsService,服务来请求,只有系统才能用 | 普通权限 |
只有系统可以绑定到TextService | BIND_TEXT_SERVICE | 必须要求TextService,以确保只有系统可以绑定到它 | 普通权限 |
确保只有系统可以绑定到VpnService | BIND_VPN_SERVICE | 必须要求VpnService,以确保只有系统可以绑定到它 | 普通权限 |
绑定壁纸 | BIND_WALLPAPER | 必须要求WallpaperService,以确保只有系统可以绑定到它 | 普通权限 |
使用蓝牙 | BLUETOOTH | 允许应用程序连接到蓝牙设备配对 | 普通权限 |
蓝牙管理 | BLUETOOTH_ADMIN | 允许程序进行发现和配对新的蓝牙设备 | 普通权限 |
设置蓝牙设备不需要交互 | BLUETOOTH_PRIVILEGED | 允许应用程序对蓝牙设备,不需要用户交互 | 普通权限 |
使用的传感器来测量 | BODY_SENSORS | 允许应用程序访问用户使用的传感器来测量 | 危险权限 |
应用删除时广播 | BROADCAST_PACKAGE_REMOVED | 允许应用程序广播通知应用程序包被移除后 | 普通权限 |
收到短信时广播 | BROADCAST_SMS | 允许程序当收到短信时触发一个广播 | 普通权限 |
连续广播 | BROADCAST_STICKY | 允许程序收到广播后快速收到下一个广播 | 普通权限 |
WAP PUSH广播 | BROADCAST_WAP_PUSH | 允许应用程序播放一个WAP推收到通知 | 普通权限 |
拨打电话 | CALL_PHONE | 允许程序从非系统拨号器里拨打电话 | 危险权限 |
通话权限 | CALL_PRIVILEGED | 允许程序拨打电话,替换系统的拨号器界面 | 普通权限 |
拍照权限 | CAMERA | 允许程序访问摄像头进行拍照 | 危险权限 |
捕获音频输出 | CAPTURE_AUDIO_OUTPUT | 允许应用程序捕获音频输出 | 普通权限 |
获取安全的视频输出 | CAPTURE_SECURE_VIDEO_OUTPUT | 允许应用程序获取安全的视频输出 | 普通权限 |
捕获视频输出 | CAPTURE_VIDEO_OUTPUT | 允许一个应用程序来捕获视频输出 | 普通权限 |
改变组件状态 | CHANGE_COMPONENT_ENABLED_STATE | 允许一个应用程序改变组件是否启用状态 | 普通权限 |
改变配置 | CHANGE_CONFIGURATION | 允许应用程序修改当前配置 | 普通权限 |
改变网络状态 | CHANGE_NETWORK_STATE | 允许应用程序改变网络连接状态 | 普通权限 |
改变WiFi多播状态 | CHANGE_WIFI_MULTICAST_STATE | 允许应用程序进入无线多播模式 | 普通权限 |
改变WiFi状态 | CHANGE_WIFI_STATE | 允许应用程序改变wifi连接状态 | 普通权限 |
清除应用缓存 | CLEAR_APP_CACHE | 允许应用程序清除所有已安装的 应用程序缓存 | 普通权限 |
清除用户数据 | CLEAR_APP_USER_DATA | 允许应用程序清除用户数据 | 普通权限 |
控制定位更新 | CONTROL_LOCATION_UPDATES | 允许程序获得移动网络定位信息改变 | 普通权限 |
删除缓存文件 | DELETE_CACHE_FILES | 允许应用程序删除缓存文件 | 普通权限 |
删除应用 | DELETE_PACKAGES | 允许应用程序删除应用 | 普通权限 |
电源管理 | DEVICE_POWER | 允许低级访问电源管理 | 普通权限 |
应用诊断 | DIAGNOSTIC | 允许应用程序RW诊断资源 | 普通权限 |
禁用键盘锁 | DISABLE_KEYGUARD | 允许应用程序禁用键盘锁 | 普通权限 |
转存系统信息 | DUMP | 允许程序获取系统dump信息从系统服务 | 普通权限 |
状态栏控制 | EXPAND_STATUS_BAR | 允许应用程序展开或折叠状态栏 | 普通权限 |
工厂测试模式 | FACTORY_TEST | 允许程序运行工厂测试模式 | 普通权限 |
使用闪光灯 | FLASHLIGHT | 允许访问的闪光灯 | 普通权限 |
强制后退 | FORCE_BACK | 允许应用程序强制操作任何事情 | 普通权限 |
访问账户Gmail列表 | GET_ACCOUNTS | 允许访问的帐户的Gmail列表服务 | 危险权限 |
获取应用大小 | GET_PACKAGE_SIZE | 允许一个程序获取任何package占用空间容量 | 普通权限 |
获取任务信息 | GET_TASKS | 允许应用程序获取当前的信息 或最近运行的任务 | 普通权限 |
获取私人信息 | GET_TOP_ACTIVITY_INFO | 允许应用程序获取私人信息 | 普通权限 |
允许全局搜索 | GLOBAL_SEARCH | 允许程序允许全局搜索 | 普通权限 |
硬件测试 | HARDWARE_TEST | 允许访问硬件辅助设备 | 普通权限 |
注射事件 | INJECT_EVENTS | 允许访问本程序的底层事件,获取按键、轨迹球的事件流 | 普通权限 |
安装定位提供 | INSTALL_LOCATION_PROVIDER | 允许程序安装定位提供 | 普通权限 |
安装应用程序 | INSTALL_PACKAGES | 允许程序安装应用 | 普通权限 |
快捷方式 | INSTALL_SHORTCUT | 允许应用程序快捷方式 | 普通权限 |
内部系统窗口 | INTERNAL_SYSTEM_WINDOW | 允许程序打开内部窗口,不对第三方应用程序开放此权限 | 普通权限 |
访问网络 | INTERNET | 允许程序访问网络连接,可能产生GPRS流量 | 普通权限 |
结束后台进程 | KILL_BACKGROUND_PROCESSES | 允许一个应用程序调用killBackgroundProcesses()方法结束后台进程 | 普通权限 |
使用定位功能的硬件 | LOCATION_HARDWARE | 允许一个应用程序中使用定位功能的硬件,不使用第三方应用 | 普通权限 |
管理账户 | MANAGE_ACCOUNTS | 允许程序管理AccountManager中的账户列表 | 普通权限 |
管理程序引用 | MANAGE_APP_TOKENS | 管理创建、摧毁、Z轴顺序,仅用于系统 | 普通权限 |
管理文件访问 | MANAGE_DOCUMENTS | 允许程序管理文件的访问允许程序执行软格式化,删除系统配置信息 | 普通权限 |
软格式化 | MASTER_CLEAR | 允许程序执行软格式化,删除系统配置信息 | 普通权限 |
知道什么是播放和控制其内容 | MEDIA_CONTENT_CONTROL | 允许一个应用程序知道什么是播放和控制其内容 ,不能被第三方应用使用 | 普通权限 |
修改声音设置 | MODIFY_AUDIO_SETTINGS | 允许程序修改声音设置信息 | 普通权限 |
修改电话状态 | MODIFY_PHONE_STATE | 允许程序修改电话状态 | 普通权限 |
格式化文件系统 | MOUNT_FORMAT_FILESYSTEMS | 允许程序格式化可移动文件系统 | 普通权限 |
挂载文件系统 | MOUNT_UNMOUNT_FILESYSTEMS | 允许程序挂载、反挂载外部文件系统 | 普通权限 |
允许NFC通讯 | NFC | 允许程序执行NFC近距离通讯操作 | 普通权限 |
永久Activity | PERSISTENT_ACTIVITY | 允许程序创建一个永久的Activity,该功能标记为将来将被移除 | 普通权限 |
处理拨出电话 | PROCESS_OUTGOING_CALLS | 允许程序监视,修改或放弃播出电话 | 危险权限 |
读取日程提醒 | READ_CALENDAR | 允许应用程序读取用户的日程信息 | 危险权限 |
读取通话记录 | READ_CALL_LOG | 允许应用程序读取用户的通话记录 | 危险权限 |
读取联系人 | READ_CONTACTS | 允许应用程序读取用户的联系人信息 | 危险权限 |
读取设备外部存储空间的文件 | READ_EXTERNAL_STORAGE | 允许应用程序读取设备外部存储空间的文件 | 危险权限 |
屏幕截图 | READ_FRAME_BUFFER | 允许程序读取帧缓存用于屏幕截图 | 普通权限 |
读取收藏夹和历史记录 | READ_HISTORY_BOOKMARKS | 允许应用程序读取浏览器收藏夹和历史记录 | 普通权限 |
读取输入状态 | READ_INPUT_STATE | 读取当前键的输入状态,仅用于系统 | 普通权限 |
读取系统日志 | READ_LOGS | 允许应用程序读取系统底层日志 | 普通权限 |
读取电话状态 | READ_PHONE_STATE | 允许程序访问电话状态 | 危险权限 |
读取用户的个人资料信息 | READ_PROFILE | 允许应用程序读取用户的个人资料信息 | 普通权限 |
读取短信内容 | READ_SMS | 允许应用程序读取短信内容 | 危险权限 |
读取同步设置 | READ_SYNC_SETTINGS | 允许应用程序读取同步设置,读取Google在线同步设置 | 普通权限 |
读取同步状态 | READ_SYNC_STATS | 允许程序读取同步状态,获得Google在线同步状态 | 普通权限 |
读取用户字典 | READ_USER_DICTIONARY | 允许应用程序读取用户字典 | 普通权限 |
重启设备 | REBOOT | 允许能够重新启动设备 | 普通权限 |
开机自动允许 | RECEIVE_BOOT_COMPLETED | 允许程序开机自动运行 | 普通权限 |
接收彩信 | RECEIVE_MMS | 允许程序接收彩信 | 危险权限 |
接收短信 | RECEIVE_SMS | 允许程序接收短信 | 危险权限 |
接收Wap Push | RECEIVE_WAP_PUSH | 允许程序接收WAP PUSH信息 | 危险权限 |
录音 | RECORD_AUDIO | 允许程序录制声音通过手机或耳机的麦克 | 危险权限 |
排序系统任务 | REORDER_TASKS | 允许程序重新排序系统Z轴运行中的任务 | 普通权限 |
结束系统任务 | RESTART_PACKAGES | 允许程序结束任务通过restartPackage(String)方法,该方式将在外来放弃 | 普通权限 |
来电时候用进行即时短信息回复 | SEND_RESPOND_VIA_MESSAGE | 允许用户在来电的时候用你的应用进行即时的短信息回复 | 普通权限 |
发送短信 | SEND_SMS | 允许程序发送短信 危险权限 | |
设置Activity观察其 | SET_ACTIVITY_WATCHER | 设置Activity观察器一般用于monkey测试 | 普通权限 |
设置闹铃提醒 | SET_ALARM | 允许程序设置闹铃提醒 | 普通权限 |
设置总是退出 | SET_ALWAYS_FINISH | 允许程序设置程序在后台是否总是退出 | 普通权限 |
设置动画缩放 | SET_ANIMATION_SCALE | 允许程序设置全局动画缩放 | 普通权限 |
设置调试程序 | SET_DEBUG_APP | 允许程序设置调试程序,一般用于开发 | 普通权限 |
设置屏幕方向 | SET_ORIENTATION | 设置屏幕方向为横屏或标准方式显示,不用于普通应用 | 普通权限 |
设置不能被第三方应用获取 | SET_POINTER_SPEED | 系统权限,不能被第三方应用获取 | 普通权限 |
设置应用参数 | SET_PREFERRED_APPLICATIONS | 允许程序设置应用的参数 | 普通权限 |
设置进程限制 | SET_PROCESS_LIMIT | 允许程序设置最大的进程数量的限制 | 普通权限 |
设置系统时间 | SET_TIME | 允许程序设置系统时间 | 普通权限 |
设置系统时区 | SET_TIME_ZONE | 允许程序设置系统时区 | 普通权限 |
设置桌面壁纸 | SET_WALLPAPER | 允许程序设置桌面壁纸 | 普通权限 |
设置壁纸建议 | SET_WALLPAPER_HINTS | 允许程序设置壁纸建议 | 普通权限 |
发送一个永久的进程信号 | SIGNAL_PERSISTENT_PROCESSES | 允许程序发送一个永久的进程信号 | 普通权限 |
状态栏控制 | STATUS_BAR | 允许程序打开、关闭、禁用状态栏 | 普通权限 |
访问订阅内容 | SUBSCRIBED_FEEDS_READ | 允许应用程序访问已订阅的数据库 | 普通权限 |
写入订阅内容 | SUBSCRIBED_FEEDS_WRITE | 允许应用程序写入或修改订阅内容的数据库 | 普通权限 |
显示系统窗口 | SYSTEM_ALERT_WINDOW | 允许程序显示系统窗口 | 普通权限 |
使用设备的红外发射器 | TRANSMIT_IR | 允许使用设备的红外发射器,如果可用 | 普通权限 |
删除快捷方式 | UNINSTALL_SHORTCUT | 删除快捷方式 | 普通权限 |
更新设备状态 | UPDATE_DEVICE_STATS | 允许程序更新设备状态 | 普通权限 |
使用证书 | USE_CREDENTIALS | 允许应用程序请求验证AccountManager | 普通权限 |
使用SIP视频 | USE_SIP | 允许程序使用SIP视频服务 | 危险权限 |
使用振动 | VIBRATE | 允许程序振动 | 普通权限 |
唤醒锁定 | WAKE_LOCK | 允许程序在手机屏幕关闭后后台进程仍然运行 | 普通权限 |
写入GPRS接入点设置 | WRITE_APN_SETTINGS | 允许程序写入网络GPRS接入点设置 | 普通权限 |
写入日程提醒 | WRITE_CALENDAR | 允许程序写入日程,但不可读取 | 危险权限 |
写入联系人数据 | WRITE_CALL_LOG | 允许程序写入联系人数据,但不可读取 | 危险权限 |
写入联系人 | WRITE_CONTACTS | 允许程序写入联系人,但不可读取 | 危险权限 |
写入外部存储 | WRITE_EXTERNAL_STORAGE | 允许程序写入外部存储 危险权限 | |
写入Google地图数据 | WRITE_GSERVICES | 允许应用程序修改谷歌地图服务 | 普通权限 |
写入收藏夹和历史记录 | WRITE_HISTORY_BOOKMARKS | 允许应用程序写入浏览器历史记录或收藏夹,但不可读取 | 普通权限 |
编写用户的个人资料信息 | WRITE_PROFILE | 允许应用程序编写用户的个人资料信息,但不可读取 | 普通权限 |
读写系统敏感设置 | WRITE_SECURE_SETTINGS | 允许应用程序读取或写入安全系统设置 | 普通权限 |
读写系统设置 | WRITE_SETTINGS | 允许应用程序读取或写入系统设置 | 普通权限 |
编写短信 | WRITE_SMS | 允许应用程序编写短信 | 普通权限 |
写入在线同步设置 | WRITE_SYNC_SETTINGS | 允许应用程序编写Google在线同步设置 | 普通权限 |
编写用户字典 | WRITE_USER_DICTIONARY | 允许应用程序编写用户字典 | 普通权限 |