In app, desidero ottenere un ID telefono univoco tramite TelephonyManager.getDeviceId()
. Per utilizzare questo ho bisogno di questa autorizzazione READ_PHONE_STATE
. Il problema è con l'autorizzazione di runtime su Android 6. Nel dialogo popup di autorizzazione di runtime, chiede di concedere l'autorizzazione "Per effettuare e gestire le chiamate telefoniche" che possono spaventare gli utenti dall'utilizzo di app. Cosa si può fare? Oppure posso ottenere qualsiasi altro identificativo univoco per il dispositivo senza utilizzare un permesso così grande?L'autorizzazione di runtime Android READ_PHONE_STATE richiede di effettuare e gestire le chiamate telefoniche
TelephonyManager TM = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = TM.getDeviceId();
è possibile impostare "targetSdkVersion 22" che verrà eseguito in Android 6. e non mostrerà popup per chiedere runtime permissions.it sarà automaticamente concedere l'accesso. :) – RushDroid
Perché vuoi usare 'TelephonyManager.getDeviceId()'? Ci sono molto meglio [identificatori su Android] (https://plus.google.com/+AndroidDevelopers/posts/DMshVTyzqcL) nella maggior parte dei casi. – ianhanniballake
puoi fare riferimento a questa [risposta] (http://stackoverflow.com/a/16869491/2801822) per trovare un ID univoco. –