Android – ¿Cómo conozco todos los métodos que requieren un cierto permiso?

Trabajo en un proyecto que actualmente pide 21 (!) Permisos.

Quiero limpiar eso, ya que creo que muchos de ellos no son necesarios (por ejemplo, hay un permiso para android.permission.CALL_PHONE que se puede eliminar como casi lo mismo se puede lograr con un Intent con ACTION_DIAL ).

Lo que quiero saber es una forma de, dado un permiso (por ejemplo, android.permission.AUTHENTICATE_ACCOUNTS ) encontrar todos los métodos que requieren que el permiso .

Tenga en cuenta que lo contrario es fácil, es decir, dado un método, es fácil de encontrar si ese método requiere cualquier permiso (sólo tienes que ir a la documentación y comprobar), pero ¿qué pasa al revés?

Aquí puede encontrar todos los métodos que PScout encontró que requieren los permisos de Android. PScout fue una herramienta que hizo este trabajo en particular que necesita, pero el sitio web original está desconectado.

Resultados de PScout: mapa de los permisos y métodos de Android que requieren esos permisos

De ninguna otra manera el compilador le avisaría si no ha establecido un permiso. No, en su lugar, la aplicación sólo se bloquea en tiempo de ejecución.

Lo siento, pero tienes que recorrer el largo camino y buscar métodos que crees que pueden necesitar permisos y delet ellos

Después de investigar esto de nuevo, me encontré con una pregunta similar sobre SO. Ben Holland explica que hay 2 estudios realizados sobre este problema. Ninguna de las soluciones propuestas son 100% impecables, pero es lo mejor que tenemos hasta ahora.

Más detalles en: https://stackoverflow.com/a/24019120/1369016

  • Solicitar permisos de Android M de la actividad con noHistory = "true" y / o showOnLockScreen = "true"
  • Solicitar permiso para bloquear la actividad y presionar cualquier tecla para cerrar la actividad
  • Obtener el permiso de Android dynamiclly
  • Android facebook sdk - establece permisos para openActiveSession
  • El archivo existe y el directorio IS, pero listFiles () devuelve null
  • Permisos del administrador de ubicaciones de Android que se utilizarán
  • ¿Cómo puedo obtener el temido permiso WRITE_SECURE_SETTINGS para mi aplicación android?
  • Pantalla negra de la cámara Android
  • Ejecutar una aplicación con permiso de root en Android
  • Solicitud de permiso de cámara con Android SDK 23
  • Acceso a la notificación de Android TV
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.