Sto lavorando a un'applicazione per dispositivi pre-Marshmallow. Il codice sorgente non è stato scritto da me e il progetto stesso è abbastanza grande. Attualmente sto facendo l'app per richiedere le autorizzazioni quando necessario.Android, trova tutti i posti nel codice per richiedere le autorizzazioni
La domanda è: come trovare tutti i posti nel codice in cui è necessario richiedere il permesso? Sto utilizzando Android Studio.
EDIT
Alcune persone suggeriscono di cambiare api a 23 e basta eseguire l'applicazione e vedere i luoghi dove essa si blocca. Il problema è che l'app non si blocca in ogni posto.
Ad esempio, l'esecuzione di questo codice senza un permesso sarà mandare in crash l'applicazione:
TelephonyManager manager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
Mentre questo uno appena restituisce un array vuoto, invece di schiantarsi.
final String[] SELF_PROJECTION = new String[]{
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,};
Cursor cursor = context.getContentResolver()
.query(ContactsContract.Profile.CONTENT_URI, SELF_PROJECTION, null, null, null);
Inoltre, Android Lint non mostra questi luoghi. Non sono sicuro che dovrebbe essere.
Impossibile rispondere in modo astratto. Devi richiedere le autorizzazioni dalla tua interfaccia utente.Pertanto, è necessario determinare in quale punto della app si stanno utilizzando le API protette, quindi determinare se si tratta di un'autorizzazione da richiedere in anticipo (ad esempio, al primo avvio della propria app) o solo quando l'utente preme su un'interfaccia utente elemento (ad esempio, elemento della barra delle azioni) che richiede di utilizzare il codice che richiede le API protette. – CommonsWare
@CommonsWare, sto chiedendo un modo semplice per determinare quelle posizioni quando non si ha familiarità con il progetto. So cosa fare dopo. – geNia
Magari tu compili contro sdk 23. puoi eseguire l'ispezione in Android Studio. – blay