Android定义了第三方应用可以请求的一组权限。 Permissions are categorized by sensitivity; most permissions are either "normal" or "dangerous"。在不提示用户的情况下自动授予正常权限;安装应用程序并要求用户同意授予用户权限时,会向用户显示危险权限。
问题:对于我想到的任何特定Android权限,我如何判断它是正常权限还是危险权限?是否有危险权限列表和正常权限列表?
(我知道第三方应用可以声明他们自己的权限。我只询问标准权限。我知道可能无法获得100%完整列表。我只是寻找最好的 - 努力;有些东西总比没有好。)
对于相关但不同的问题,另请参阅Where can I get a list of Android permissions(但是,这是一个不同的问题;它不符合正常与危险的区别,我不一定需要完整的清单。)
答案 0 :(得分:23)
为了更简单,以下是从official docs获取的正常权限列表:
从API级别23开始,以下权限被归类为PROTECTION_NORMAL:
ACCESS_LOCATION_EXTRA_COMMANDS
ACCESS_NETWORK_STATE
ACCESS_NOTIFICATION_POLICY
ACCESS_WIFI_STATE
BLUETOOTH
BLUETOOTH_ADMIN
BROADCAST_STICKY
CHANGE_NETWORK_STATE
CHANGE_WIFI_MULTICAST_STATE
CHANGE_WIFI_STATE
DISABLE_KEYGUARD
EXPAND_STATUS_BAR
FLASHLIGHT
GET_PACKAGE_SIZE
INTERNET
KILL_BACKGROUND_PROCESSES
MODIFY_AUDIO_SETTINGS
NFC
READ_SYNC_SETTINGS
READ_SYNC_STATS
RECEIVE_BOOT_COMPLETED
REORDER_TASKS
REQUEST_INSTALL_PACKAGES
SET_TIME_ZONE
SET_WALLPAPER
SET_WALLPAPER_HINTS
TRANSMIT_IR
USE_FINGERPRINT
VIBRATE
WAKE_LOCK
WRITE_SYNC_SETTINGS
SET_ALARM
INSTALL_SHORTCUT
UNINSTALL_SHORTCUT
以下是Dangerous permissions and permission groups的列表:
CALENDAR : READ_CALENDAR, WRITE_CALENDAR
CAMERA : CAMERA
CONTACTS : READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTS
LOCATION : ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION
MICROPHONE : RECORD_AUDIO
PHONE : READ_PHONE_STATE, CALL_PHONE, READ_CALL_LOG, WRITE_CALL_LOG, ADD_VOICEMAIL, USE_SIP, PROCESS_OUTGOING_CALLS
SENSORS : BODY_SENSORS
SMS : SEND_SMS, RECEIVE_SMS, READ_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS
STORAGE : READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE
答案 1 :(得分:14)
自动授予普通权限,而不提示用户
AFAIK,这里的文档是错误的。
安装应用程序并要求用户同意授予用户权限时,会向用户显示危险权限
AFAIK,所有权限都有此行为。
这可能导致的是,如果存在足够危险的权限,则始终会显示危险权限,而正常权限可能会“低于”。
对于我想到的任何特定Android权限,我如何判断它是正常权限还是危险权限?是否有危险权限列表和正常权限列表?
您可以查看the source code。
答案 2 :(得分:6)
我发现this博文根据保护级别列出了“默认”权限。我想,这是你要找的那种清单。
虽然该帖子已有10个月之久,但同时该列表可能已发生变化。它提供了自己重新编译列表的示例代码。
答案 3 :(得分:3)
从Android M权限将在运行时授予。普通权限不需要用户同意,但对于危险权限,用户需要向应用程序授予权限。
正常权限:https://developer.android.com/guide/topics/security/normal-permissions.html
危险权限:危险权限涵盖应用需要涉及用户私人信息的数据或资源的区域https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous
答案 4 :(得分:3)
答案 5 :(得分:1)
在Android Studio中,您可以打开AndroidManifest.xml并在您使用的每个权限上按F1,然后您可以查看该文档可能显示的是否存在危险。