Android permissions: How can I learn which are dangerous vs normal?

后端 未结 6 1916
天涯浪人
天涯浪人 2020-12-08 23:19

Android defines a set of permissions that third-party apps can request. Permissions are categorized by sensitivity; most permissions are either \"normal\" or \"dangerous\".

相关标签:
6条回答
  • 2020-12-08 23:57

    in Android Studio,you can open your AndroidManifest.xml and press F1 on every permission you used then you can see if it is dangerous which the doc may shows.

    0 讨论(0)
  • 2020-12-08 23:58

    Normal permissions are granted automatically, without prompting the user

    AFAIK, the documentation is wrong here.

    dangerous permissions are presented to the user when the app is installed and the user is asked to consent to granting them

    AFAIK, all permissions have this behavior.

    What this may have morphed into is that dangerous permissions are always displayed and normal permissions are ones that might be "below the fold" if there are enough dangerous ones.

    For any particular Android permission I have in mind, how can I tell whether it is a normal permission or a dangerous permission? Is there a list of dangerous permissions and a list of normal permissions?

    You can look at the source code.

    0 讨论(0)
  • 2020-12-08 23:58

    I found this blogpost listing the "default" permissions by protection level. I think, this is the kind of list you were looking for.

    The list might have changed in the meantime though, as the post is 10 months old. It provides sample code to recompile the list by yourself.

    0 讨论(0)
  • 2020-12-09 00:00

    From android M permissions will be granted at runtime. User consent is not required for Normal permissions but for Dangerous permissions user is required to grant the permission to application.

    Normal permissions: https://developer.android.com/guide/topics/security/normal-permissions.html

    Dangerous permissions: Dangerous permissions cover areas where the app wants data or resources that involve the user's private information https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous

    0 讨论(0)
  • 2020-12-09 00:02

    For more simplicity, below are list of Normal permissions taken from official docs:

    As of API level 23, the following permissions are classified as 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
    

    And here is list of 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
    
    0 讨论(0)
  • 2020-12-09 00:17

    Here is a good article which describes every thing about run time permissions ,

    Normal permissions

    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
    

    Dangerous permissions

    0 讨论(0)
提交回复
热议问题