2 votos

Deshabilitar nuevo sistema de permisos de Android

Realmente me gusta el nuevo sistema de permisos en Android desde el punto de vista de los usuarios finales, ya que me gusta tener control sobre lo que hace mi teléfono, pero realmente estoy luchando con esto en el trabajo, aquí está la razón:

Estamos desarrollando aplicaciones y soy responsable de la QA y recientemente introdujimos pruebas automatizadas. Durante el proceso de pruebas, instalamos nuestra aplicación en un Emulador de Android (Visual Studio Emulator for Android). Como nuestra aplicación necesita acceso a los servicios de ubicación, Android le pide permiso al usuario. Dado que el usuario es "el rey", el cuadro de diálogo de permisos no está expuesto a nuestro marco de pruebas, por lo que no podemos responder automáticamente a él y porque las pruebas se ejecutan de noche, no hay nadie para responder a ese cuadro de diálogo manualmente.

Entonces aquí está mi pregunta:

¿Hay alguna configuración en Android para desactivar el nuevo sistema de permisos? No es necesario configurar esta configuración automáticamente, puedo configurar esta configuración manualmente una vez, lo único que no puedo hacer es responder a ese cuadro de diálogo de permisos cada vez que se instala la aplicación.

Gracias por tu ayuda, vat

2voto

Joaquin Brandan Puntos 20

adb install -g package.apk

Tuve un problema similar en pruebas automatizadas: al iniciar la aplicación aparecía el cuadro de diálogo de permisos. El comando adb shell pm grant … no ayudó, pero está la opción -g de adb install para otorgar todos los permisos al instalar. Esto resolvió el problema para mí.

De adb --help:

Versión 1.0.41 del Puente de Depuración de Android
Versión 30.0.5-6877874
[...]
instalación de aplicaciones (ver también `adb shell cmd package help`):
 install [-lrtsdg] [--instant] PAQUETE
     enviar un solo paquete al dispositivo e instalarlo
[…]
    -g: otorgar todos los permisos en tiempo de ejecución
[…]

1voto

Andy Brudtkuhl Puntos 1714

No se puede desactivarlo por completo, y no querrías hacerlo en tu máquina de pruebas incluso si pudieras, porque entonces no podrías probar cómo tu aplicación interactúa con el sistema de permisos (por ejemplo, mostrando la "justificación del permiso", manejando solicitudes rechazadas, manejando la pérdida de enfoque cuando se muestra el diálogo).

Esta pregunta en Stack Overflow, nuestro sitio hermano para preguntas de programación explica algunas maneras en que puedes manejar los permisos en tiempo de ejecución de Marshmallow al ejecutar pruebas, y otra pregunta en el mismo sitio tiene algunas respuestas diferentes. Como has dicho que estás dispuesto a hacer una acción única para que funcione, no olvides que puedes marcar la opción "no volver a preguntar" cuando obtengas el diálogo de permiso, para aceptar automáticamente futuras solicitudes del mismo permiso de la misma aplicación.

0 votos

Gracias, Dan, vine aquí desde StackOverflow ya que pensé que esta pregunta es más específica de android. La respuesta en el primer enlace me ayudó.

0 votos

Bueno, pensé que esto me ayudaría ... Mientras seguía las instrucciones que vinculé en mi respuesta, el Pop up "¿Quieres conceder ... Acceso GPS de la aplicación?" no desaparece en el teléfono

1voto

coelhudo Puntos 1375

Solo para referencia: Aquí está la respuesta que resolvió mi problema (tomada de https://stackoverflow.com/a/32798532/5736633):

Puedes otorgar y revocar permisos usando:

adb shell pm grant com.package.myapp android.permission.
adb shell pm revoke com.package.myapp android.permission.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X