java - por - Android, encuentra todos los lugares en el código para solicitar permisos.
rastrear celular por numero (5)
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 solicitar permiso? Estoy usando Android Studio.
EDITAR
Algunas personas sugieren cambiar la API a 23 y simplemente 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 este solo devuelve 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 ser así.
Añadir
lintOptions {
enable ''MissingPermission''
}
en tu build.gradle
. Esto mostrará advertencias después de construir su aplicación.
Claro, compile api 23, no agregue el código de permisos, ejecute la aplicación y vea dónde se bloquea.
Una vez que comienza a localizar las ubicaciones, luego active los permisos (a través de la configuración de la aplicación) para que pueda pasar la pantalla y luego desactívelos para ver si se bloquea.
Logcat es bastante descriptivo al hacerle saber que los permisos están denegados ...
De acuerdo con la página del desarrollador con respecto a los permisos de seguridad :
En casi todos los casos, sin embargo, se imprimirá una falla de permiso en el registro del sistema.
Así que ejecuta la aplicación y busca en el registro "permisos" o similares.
Utilice la prueba unitaria para garantizar la cobertura de todos los lugares en el código donde se pueden requerir permisos.
Puedes hacer este truco: elimina los permisos peligrosos del manifiesto. De esta manera, puede realizar pruebas en casi cualquier dispositivo, estará seguro de que se bloqueará y encontrará los lugares exactos donde necesita esos permisos. Así es como lo hice de todos modos.
Solicite todos los permisos que desee en el primer inicio de su aplicación.
No es una Práctica recomendada , pero es una respuesta a esta pregunta.