Android, encuentra todos los lugares en código para solicitar permisos

Estoy trabajando en una aplicación para dispositivos pre-Marshmallow. El código fuente no fue escrito por mí y el proyecto en sí es bastante grande. Actualmente estoy haciendo la aplicación para solicitar permisos cuando sea necesario.

La pregunta es: ¿Cómo encontrar todos los lugares en el código donde se debe pedir permiso? Estoy usando Android Studio.

EDITAR
Algunas personas sugieren cambiar api a 23 y sólo ejecutar la aplicación y ver los lugares donde se bloquea. El problema es que la aplicación no se bloquea en todos los lugares.

Por ejemplo, ejecutar este código sin un permiso bloqueará la aplicación:

TelephonyManager manager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); 

Mientras que éste acaba de devolver una matriz vacía, en lugar de estrellarse.

 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); 

Además, Android Lint no muestra estos lugares. No estoy seguro de si debería serlo.

Según la página del desarrollador con respecto a los permisos de seguridad :

En casi todos los casos, sin embargo, un fallo de permiso se imprimirá en el registro del sistema.

Por lo tanto, ejecute la aplicación y busque en el registro "permisos" o similar.

Utilice la prueba de unidad para garantizar la cobertura de todos los lugares en el código donde se pueden requerir permisos.

Añadir

 lintOptions { enable 'MissingPermission' } 

En su build.gradle . Esto mostrará advertencias después de crear su aplicación.

Claro, compilar orientación api 23, no agregar en el código de permisos, ejecutar la aplicación y ver dónde se bloquea.

Una vez que empieces a localizar las ubicaciones, invierte los permisos (a través de la configuración de la aplicación) para que puedas pasar esa pantalla y luego desactivarlas para que puedas ver si se bloquea.

Logcat es bastante descriptivo al hacerle saber que los permisos se niegan …

Usted puede hacer este truco: eliminar los permisos peligrosos del manifiesto. De esta manera, puedes probar prácticamente cualquier dispositivo, estarás seguro de que se bloqueará y encontrarás los lugares exactos donde necesitas esos permisos. Así es como lo hice de todos modos.

Solicite todos los permisos que desea en el primer inicio de su aplicación.

No es una Buenas Prácticas , pero es una respuesta de esta pregunta.

  • Forma de círculo antialise Google Maps V2 Android
  • Convertir la fecha en milisegundos está dando resultados inconsistentes en Android (java)
  • PagerSlidingTabStrip: Alineación de las pestañas de ViewPager a la derecha
  • OnPageFinished no disparar correctamente al procesar la página web
  • Los widgets que se pueden hacer clic en Android
  • Bouncycastle codificación de la curva elíptica en Android
  • Algo similar a split ()?
  • Map.clear () vs nuevo Mapa: ¿Cuál será mejor?
  • Android: howto parse URL String con espacios al objeto URI?
  • ¿El método String isEmpty no está disponible en los niveles de API de Android <10?
  • Cómo inicializar el contenido de la pestaña cuando se inicializa la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.