5

Ich arbeite an einem Projekt, das derzeit nach 21 (!) Berechtigungen fragt.Android - Wie kann ich alle Methoden kennen, die eine bestimmte Berechtigung erfordern?

Ich möchte, dass aufzuräumen, wie ich eine Menge von ihnen glauben nicht notwendig sind (zum Beispiel gibt es eine Erlaubnis für android.permission.CALL_PHONE, die als so ziemlich das gleiche Ding entfernt werden kann, kann mit einem Intent mit ACTION_DIAL erreicht werden).

Was ich wissen möchte, ist ein Weg, eine Erlaubnis gegeben (sagen, android.permission.AUTHENTICATE_ACCOUNTS) finden Sie alle Methoden, die diese Erlaubnis benötigen.

Beachten Sie, dass das Gegenteil einfach ist, d. H. Bei einer Methode ist es einfach zu finden, ob diese Methode eine Berechtigung erfordert (gehen Sie einfach zur Dokumentation und Überprüfung), aber was ist umgekehrt?

+0

Ich wollte zu sagen, dass :) gehen Sie einfach zu überprüfen, nach allem, wenn Sie eine Funktion implementieren und weiß nicht, ob es Berechtigungen sind dann hmm .. nur Sir sagen. Ich denke nicht, dass es gibt, es sei denn, Sie sind bereit, Reflection zu verwenden, um die Ausnahmen zu überprüfen, die sie im Falle einer nicht gesetzten Erlaubnis setzen und damit spielen können. – Elltz

+0

Nicht genau die Antwort auf Ihre Frage, aber möglicherweise ein alternativer Ansatz finden Sie hier: http://stackoverflow.com/questions/8257412/remove-extra-unwanted-permissions-from-manifest-android/8257473#8257473 – AADProgramming

+0

mögliches Duplikat von [Zuordnung zwischen Android-Berechtigungen (die wir in der manisfest-Datei definieren) zu entsprechenden API-Aufrufen/Methoden] (http://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define) -in-the-manisfest-Datei-zu-c) –

Antwort

0

Danach wieder die Erforschung, stieß ich auf eine ähnliche Frage auf SO. Ben Holland erklärt, dass es zwei Studien zu diesem Problem gibt. Keine der vorgeschlagenen Lösungen ist zu 100% fehlerfrei, aber es ist das Beste, was wir bisher haben.

Weitere Details unter: https://stackoverflow.com/a/24019120/1369016

0

Kein anderer Weg würde der Compiler Sie warnen, wenn Sie keine Erlaubnis gesetzt haben. Nein, stattdessen stürzt die Anwendung nur zur Laufzeit ab.

Im sorry, aber Sie haben den langen Weg zu gehen und nach Methoden suchen, die Sie vielleicht denken Berechtigungen benötigen und delet sie