2011-09-07 103 views
11

Android定义了第三方应用可以请求的一组权限。 Permissions are categorized by sensitivity; most permissions are either "normal" or "dangerous"。普通权限会自动授予,不会提示用户;危险的权限会在安装应用程序时呈现给用户,并且要求用户同意授予这些权限。Android权限:我怎样才能知道哪些是比正常危险?

问题:对于任何特定的Android权限,我如何判断它是正常权限还是危险权限?是否有危险的权限列表和普通权限列表?我知道第三方应用程序可以声明自己的权限,我只询问标准权限,我知道可能无法获得100%的完整列表,我只是在寻找最好的);

对于一个相关但不同的问题,另请参阅Where can I get a list of Android permissions(但是,这是一个不同的问题;它不在正常与危险的区别,我不一定需要一个完整的列表)。

回答

14

普通权限自动授予,不提示用户

据我所知,该文件是错在这里。在安装应用程序时

危险的权限被呈现给用户,并且用户被要求同意授予他们

据我所知,所有的权限,有这样的行为。

这可能会变成什么样子,总是显示危险的权限,而正常的权限是那些在危险级别足够的情况下可能“低于对象”的权限。

对于我脑海中的任何特定Android权限,我该如何判断它是正常权限还是危险权限?是否有危险的权限列表和普通权限列表?

你可以看看the source code

+1

链路断开时,试试这个链接来代替:HTTPS:/ /github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml –

+0

http://stackoverflow.com/questions/32681513/what-is-different-between-normal-and-dang在Android的安全保护水平Erous- 我认为有一个区别应该在上面的描述中解释。在运行时授予危险权限并在API级别23中引入 – Satish

+0

此答案不太令人满意;但只是告诉他们之间的差异;提问者想要我相信的危险许可清单! – DJphy

6

我发现this blogpost按保护等级列出了“默认”权限。我想,这是你要找的那种清单。

虽然列表可能在此期间发生了变化,但由于该帖子是10个月大。它提供了示例代码来自行重新编译列表。

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

Android Studio中,您可以在您使用,那么你可以看它是否是危险的,其中医生可能显示每个权限打开你的AndroidManifest.xml,按F1 。

3

Here是一个很好的文章,描述有关运行时权限的每一件事情,

普通权限

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 
android.permission.ACCESS_NETWORK_STATE 
android.permission.ACCESS_NOTIFICATION_POLICY 
android.permission.ACCESS_WIFI_STATE 
android.permission.ACCESS_WIMAX_STATE 
android.permission.BLUETOOTH 
android.permission.BLUETOOTH_ADMIN 
android.permission.BROADCAST_STICKY 
android.permission.CHANGE_NETWORK_STATE 
android.permission.CHANGE_WIFI_MULTICAST_STATE 
android.permission.CHANGE_WIFI_STATE 
android.permission.CHANGE_WIMAX_STATE 
android.permission.DISABLE_KEYGUARD 
android.permission.EXPAND_STATUS_BAR 
android.permission.FLASHLIGHT 
android.permission.GET_ACCOUNTS 
android.permission.GET_PACKAGE_SIZE 
android.permission.INTERNET 
android.permission.KILL_BACKGROUND_PROCESSES 
android.permission.MODIFY_AUDIO_SETTINGS 
android.permission.NFC 
android.permission.READ_SYNC_SETTINGS 
android.permission.READ_SYNC_STATS 
android.permission.RECEIVE_BOOT_COMPLETED 
android.permission.REORDER_TASKS 
android.permission.REQUEST_INSTALL_PACKAGES 
android.permission.SET_TIME_ZONE 
android.permission.SET_WALLPAPER 
android.permission.SET_WALLPAPER_HINTS 
android.permission.SUBSCRIBED_FEEDS_READ 
android.permission.TRANSMIT_IR 
android.permission.USE_FINGERPRINT 
android.permission.VIBRATE 
android.permission.WAKE_LOCK 
android.permission.WRITE_SYNC_SETTINGS 
com.android.alarm.permission.SET_ALARM 
com.android.launcher.permission.INSTALL_SHORTCUT 
com.android.launcher.permission.UNINSTALL_SHORTCUT 

危险的权限 enter image description here

相关问题