2012-05-25 11 views
8

¿Hay alguna forma de saber si se requiere un determinado permiso de Android para qué API de Android? Por ejemplo, ¿qué API requerirán los permisos GET_TASKS o REBOOT? Mi aplicación, heredada de alguien que se fue hace mucho tiempo, tiene estos permisos enumerados en el manifiesto. No creo que los usemos, pero también me temo que si los elimino, habrá malas consecuencias. ¿Alguna idea sobre cómo lidiar con esto?Una lista de las API de Android que requieren ciertos permisos de Android

+0

Si el proyecto no es grande. Usted puede verificarlo usted mismo. Creo que sí ... Una buena respuesta podría no existir. –

+0

'miedo' no pertenece aquí. Probablemente deberías tratar de lograr una buena cobertura de prueba (preferiblemente pruebas automáticas) para luego eliminar o hacer lo que quieras y si todas las pruebas siguen pasando, entonces está bien. –

+1

Ver este hilo. [https://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define-in-the-manisfest-file-to-c/24019120#24019120][1] [1]: https://stackoverflow.com/questions/20740632/mapping-between-android-permissions-that-we-define-in-the-manisfest-file-to-c/24019120# 24019120 –

Respuesta

5

Ambos permisos son bastante especializados, y solo tienen unos pocos usos.

android.permission.REBOOT

En primer lugar, este permiso tiene un nivel de protección de signatureOrSystem, por lo menos que su aplicación es parte de una ROM personalizada o tiene acceso a las claves de firma para la plataforma que está instalando en, la aplicación ni siquiera se concederá el permiso.]

se requiere llamar PowerManager.reboot()

android.permission.GET_TASKS

Este permiso solo está marcado dangerous, por lo que su aplicación puede obtener este.

Hay dos llamadas en ActivityManager que requieren este permiso, getRecentTasks() y getRunningTasks() para obtener información sobre las tareas de la aplicación actual en el sistema. A menudo es utilizado por aplicaciones Launcher personalizadas para llenar listas de tareas.

HTH

+0

Gracias. ¿Existe un documento oficial que publique dicha información, o es conocimiento interno? –

+0

Si una API en particular requiere un permiso dado, lo dirá en los documentos del SDK, por lo que solo se está realizando una búsqueda en los documentos del SDK para obtener los nombres de los permisos. El nivel de seguridad que puede encontrar en AndroidManifest.xml de las fuentes del marco. – Devunwired

0

Saque cada pieza y ejecútelo. Si continúa, conserve lo que se elimina y baje la lista de permisos.

2

PScout era una herramienta que analiza Android SDK y generó un mapa que asigna permisos de Android a métodos que requieren esos permisos.

El sitio web original de PScout ya no funciona pero extraje el mapeo del PScout original y lo envié a Github. Puedes comprobarlo fácilmente y analizarlo si lo necesitas.

Aquí puede encontrar todos los métodos que PScout encontró que requieren permisos de Android.

PScout results- map of Android permissions and methods that require those permissions

Cuestiones relacionadas