2011-09-07 4 views
11

Android definisce un set di autorizzazioni che le app di terze parti possono richiedere. Permissions are categorized by sensitivity; most permissions are either "normal" or "dangerous". Le autorizzazioni normali vengono concesse automaticamente, senza richiedere all'utente; le autorizzazioni pericolose vengono presentate all'utente quando l'app è installata e all'utente viene chiesto di acconsentire a concederle.Autorizzazioni Android: come posso sapere quali sono pericolosi rispetto al normale?

Domanda: Per qualsiasi autorizzazione Android specifica che ho in mente, come posso sapere se si tratta di un permesso normale o di un permesso pericoloso? Esiste un elenco di autorizzazioni pericolose e un elenco di autorizzazioni normali?

(So che le app di terze parti possono dichiarare le proprie autorizzazioni. Sto solo chiedendo autorizzazioni standard. So che potrebbe non essere possibile ottenere un elenco completo al 100%. Sto solo cercando il migliore -effort: qualcosa è meglio di niente)

Per una domanda correlata ma diversa, vedere anche Where can I get a list of Android permissions (tuttavia, questa è una domanda diversa, non si tratta della distinzione tra normale e pericoloso, e non ho necessariamente bisogno una lista completa).

risposta

14

permessi normali vengono concesse automaticamente, senza chiedere conferma all'utente

per quanto ne so, la documentazione è sbagliato qui.

permessi pericolose sono presentati all'utente quando è installato l'applicazione e l'utente è invitato a acconsentire a concedere loro

per quanto ne so, tutti i permessi hanno questo comportamento.

Ciò che potrebbe essersi trasformato in è che le autorizzazioni pericolose sono sempre visualizzate e le autorizzazioni normali sono quelle che potrebbero essere "below the fold" se ce ne sono abbastanza pericolose.

Per ogni particolare permesso Android che ho in mente, come posso sapere se si tratta di un permesso normale o di un permesso pericoloso? Esiste un elenco di autorizzazioni pericolose e un elenco di autorizzazioni normali?

È possibile guardare the source code.

+1

Link è rotto, provate questo link invece: https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml –

+0

http://stackoverflow.com/questions/32681513/quello-è-differente-dalle -normale-e-dang erous-in-android-protection-level Penso che ci sia una differenza che dovrebbe essere spiegata nella descrizione di cui sopra. Le autorizzazioni pericolose sono concesse in fase di runtime e introdotte nel livello API 23 – Satish

+0

questa risposta non è così soddisfacente; ma dice solo la differenza tra loro; l'interrogante voleva la lista dei permessi pericolosi che io credo! – DJphy

6

Ho trovato this post di blog che elenca le autorizzazioni "predefinite" per livello di protezione. Penso che questo sia il tipo di lista che stavi cercando.

L'elenco potrebbe essere cambiato nel frattempo, poiché il post è di 10 mesi. Fornisce un codice di esempio per ricompilare l'elenco da solo.

3

Da Android M autorizzazioni saranno concesse in fase di esecuzione. Il consenso dell'utente non è richiesto per le normali autorizzazioni, ma per le autorizzazioni pericolose è richiesto all'utente di concedere l'autorizzazione all'applicazione.

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

permessi pericolose: i permessi pericolose coprono aree in cui l'applicazione vuole i dati o le risorse che coinvolgono le informazioni private dell'utente https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous

23

Per maggiore semplicità, di seguito sono l'elenco dei permessi normali prese da official docs :

Al livello API 23, le seguenti autorizzazioni sono classificati come 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 

Ed Ecco la lista dei 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

in Android Studio, è possibile aprire l'AndroidManifest.xml e premere F1 su ogni permesso si è utilizzato, allora si può vedere se è pericoloso, che il doc può spettacoli .

3

Here è un buon articolo che descrive ogni cosa sulle autorizzazioni fase di esecuzione,

permessi normali

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 

permessi pericolose enter image description here

Problemi correlati