Tengo una pregunta sobre la nueva versión de Android Marshmallow:
¿Es posible mostrar la pantalla de permisos para una aplicación específica a través de un intento o algo similar?
Es posible mostrar la configuración de la aplicación con el siguiente código: ¿hay una solución analógica para abrir directamente la pantalla de permisos?
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", getPackageName(), null)));
Ya investigué un poco sobre esto, pero no pude encontrar una solución adecuada, ¡agradecería toda ayuda!
android
android-permissions
android-6.0-marshmallow
Frederik Schweiger
fuente
fuente
Respuestas:
De acuerdo con el video oficial de permisos de Marshmallow (en la marca de 4m 43s ), debe abrir la página de Configuración de la aplicación (desde allí es un clic a la página de Permisos).
Para abrir la página de configuración, haría
fuente
Esto no es posible. Traté de hacerlo también. Podría averiguar el nombre del paquete y la actividad que se iniciará. Pero al final obtendrá una excepción de seguridad debido a la falta de un permiso que no puede declarar.
ACTUALIZAR:
Con respecto a la otra respuesta, también recomiendo abrir la pantalla de configuración de la aplicación. Hago esto con el siguiente código:
Como no quiero tener esto en mi pila de historial, lo elimino usando indicadores de intención.
fuente
Descripción Abre la página de configuración Detalles para la aplicación. Desde aquí, el usuario debe asignar manualmente el permiso deseado.
Settings.ACTION_APPLICATION_DETAILS_SETTINGS
Intent.FLAG_ACTIVITY_NEW_TASK
Opcional . Si se establece, se abre la Pantalla de configuración (Actividad) como nueva actividad. De lo contrario, se abrirá en la actividad actualmente en ejecución.
Uri.fromParts("package", getPackageName(), null)
Prepara o crea URI, mientras que getPackageName (): devuelve el nombre de su paquete de aplicación.
intent.setData(uri)
No te olvides de configurar esto . De lo contrario, obtendrá
android.content.ActivityNotFoundException
. Debido a que ha establecido su intención comoSettings.ACTION_APPLICATION_DETAILS_SETTINGS
y Android espera algún nombre para buscar.fuente
En cambio, puede abrir la configuración general de una aplicación en particular con una línea
fuente
No es posible abrir mediante programación la pantalla de permisos. En cambio, podemos abrir la pantalla de configuración de la aplicación.
Código
Salida de muestra
fuente
Si desea escribir menos código
Kotlin
, puede hacer esto:Basado en la respuesta de Martin Konecny
fuente
Estilo Kotlin
fuente
Puede ser que esto te ayude
fuente
Si estamos hablando de Flyme OS (Meizu) SOLAMENTE hay su propia aplicación de seguridad con permisos.
Para abrirlo use la siguiente intención:
De las causas BuildConfig es de su aplicación BuildConfig .
fuente
Xamarin Forms Android:
fuente
no es posible obtener el permiso pragmáticamente ... pero le sugiero que ponga esa línea de código en el intento {} catch {} que desafortunadamente hace que su aplicación se detenga ... y en el cuerpo del catch haga un cuadro de diálogo que navegará usuario a pequeño tutorial para habilitar el sorteo sobre el permiso de otras aplicaciones ... luego en el botón sí, haga clic en poner este código ...
esta intención es abrir directamente la lista de sorteo sobre otras aplicaciones para administrar los permisos y luego desde aquí es un clic para dibujar sobre otras aplicaciones Permisos ... Sé que esta no es la respuesta que estás buscando ... pero Estoy haciendo esto en mis aplicaciones ...
fuente