studio - request permission android example
Android M: revoca programáticamente los permisos (3)
Actualmente estoy jugando con el nuevo sistema de permisos de android m. Lo que estoy planeando es agregar una pantalla a mi configuración dentro de la aplicación donde el usuario pueda otorgar o revocar permisos.
La pantalla se vería como la pantalla de configuración del sistema normal, pero tendrá información adicional sobre por qué mi aplicación necesita un permiso específico. Esta pantalla de configuración sería una adición al manejo de permisos regular como se sugiere en la Documentation .
El flujo de trabajo sería:
- otorgando permiso: abra el cuadro de diálogo de sistemas para otorgar / revocar ( como se sugiere aquí )
- revocar permiso: revocarlo programáticamente
Así que mi pregunta es, ¿pueden los permisos ser revocados programáticamente? Busqué mucho, pero no conseguí algunos resultados.
No Programmáticamente no es posible en Android M Preview con nuevos permisos Modelo.
Pero manualmente puedes hacer lo que se te ha dado. revocar permisos manualmente
No puedes hacer nada (al menos hasta ahora). Además, no hay ninguna acción intencional para abrir la configuración del sistema de actividades para su aplicación. Mi sugerencia es abrir una "solicitud de función" en el rastreador de problemas de vista previa para desarrolladores.
Puede revocar el permiso de ADB Shell. Si considera escribir shell script y hacer todo esto de forma programática, entonces SÍ, de lo contrario NO
Puede usar los nuevos comandos del administrador de paquetes ADB (pm) para otorgar y revocar permisos a una aplicación instalada. Esta funcionalidad puede ser útil para pruebas automatizadas.
Para otorgar un permiso, use el comando grant del administrador de paquetes:
$ adb shell pm grant <package_name> <permission_name>
Por ejemplo, para otorgar permiso al paquete com.example.myapp para grabar audio, use este comando:
$ adb shell pm grant com.example.myapp android.permission.RECORD_AUDIO
Para revocar un permiso, use el comando revocar del administrador de paquetes:
$ adb shell pm revoke <package_name> <permission_name>