5

Lavoro su un progetto che richiede attualmente 21 (!) Permessi.Android - Come faccio a sapere tutti i metodi che richiedono una determinata autorizzazione?

desidero pulire che fino come credo molti di loro non sono necessari (per esempio, c'è un permesso per android.permission.CALL_PHONE che può essere rimosso come più o meno la stessa cosa si può ottenere con una Intent con ACTION_DIAL).

Quello che voglio sapere è un modo per, dato un permesso (per esempio, android.permission.AUTHENTICATE_ACCOUNTS) trovare tutti i metodi che richiedono che il permesso.

Si noti che il contrario è facile, cioè, dato un metodo, è facile da trovare se quel metodo richiede alcuna autorizzazione (basta andare alla documentazione e verificare), ma per quanto riguarda il contrario?

+0

Stavo per dire che :) basta andare a controllare, dopo tutto, se si implementa una funzione e non so se ci sono i permessi poi hmm .. solo dicendo signore. non credo che ci sia a meno che non si sia disposti ad usare Reflection per verificare le eccezioni che potrebbero lanciare in caso di autorizzazione non impostata e giocare con essa. – Elltz

+0

Non esattamente la risposta alla tua domanda, ma potrebbe essere un approccio alternativo può essere trovato qui: http://stackoverflow.com/questions/8257412/remove-extra-unwanted-permissions-from-manifest-android/8257473#8257473 – AADProgramming

+0

possibile duplicazione di [Mapping tra permessi Android (che definiamo nel file manisfest) alle corrispondenti chiamate API /methods](http://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define -in-the-manisfest-file-to-c) –

risposta

0

Dopo la ricerca di nuovo, mi sono imbattuto in una domanda simile su SO. Ben Holland spiega che ci sono 2 studi condotti su questo problema. Nessuna delle soluzioni proposte è impeccabile al 100%, ma è la migliore che abbiamo finora.

Maggiori dettagli su: https://stackoverflow.com/a/24019120/1369016

0

In nessun altro modo il compilatore ti avviserà se non hai impostato un'autorizzazione. No, invece l'applicazione si blocca solo in fase di esecuzione.

mi spiace, ma devi andare la strada più lunga e la ricerca di metodi che se lo ritenete necessario permessi e delet li

Problemi correlati