Android权限:我如何知道哪些危险与正常相比?

D.W*_*.W. 11 security permissions android

Android定义了第三方应用可以请求的一组权限. 权限按敏感度分类; 大多数权限是"正常"或"危险".在不提示用户的情况下自动授予正常权限; 安装应用程序并要求用户同意授予用户时,会向用户显示危险权限.

问题:对于我想到的任何特定Android权限,我如何判断它是正常权限还是危险权限?是否有危险权限列表和正常权限列表?

(我知道第三方应用程序可以声明自己的权限.我只是询问标准权限.我知道可能无法获得100%完整的列表.我只是在寻找尽力而为;某些东西总比没有好.)

对于相关但不同的问题,请参阅 我在哪里可以获得Android权限列表(但是,这是一个不同的问题;它不是正常与危险的区别,我不一定需要完整的列表).

ast*_*ter 23

为简单起见,以下是从官方文档中获取的常规权限列表:

从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
Run Code Online (Sandbox Code Playgroud)

这里是危险权限和权限组列表:

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
Run Code Online (Sandbox Code Playgroud)


Com*_*are 14

在不提示用户的情况下自动授予正常权限

AFAIK,文档在这里是错误的.

安装应用程序并要求用户同意授予用户时,会向用户显示危险权限

AFAIK,所有权限都有此行为.

这可能变成的是,如果有足够的危险权限,则始终显示危险权限,而正常权限可能是"低于"的权限.

对于我想到的任何特定Android权限,我如何判断它是正常权限还是危险权限?是否有危险权限列表和正常权限列表?

您可以查看源代码.


小智 6

我发现这个博文按保护级别列出了"默认"权限.我想,这是你要找的那种清单.

在此期间,该列表可能已发生变化,因为该帖子已有10个月的历史.它提供了自己重新编译列表的示例代码.