Explore el Administrador de roles de Android.Echemos un vistazo a Android… | por yggr | abril de 2022
RoleManager
Es una clase de Android que administra roles en un dispositivo.
¿Qué es un papel?
La documentación de Android define «roles» como Un nombre único asociado con ciertos privilegios en el sistema.
Para ayudarlo a comprenderlo mejor, estos son los roles disponibles actualmente en el sistema Android:
ROLE_ASSISTANT
: una aplicación con este rol se utilizará como aplicación auxiliar predeterminada.ROLE_BROWSER
: una aplicación con esta función se utilizará como la aplicación de navegador de Internet predeterminada.ROLE_CALL_REDIRECTION
: las aplicaciones con esta función podrán gestionar las llamadas salientes redirigidas.ROLE_CALL_SCREENING
: una aplicación en este rol podrá filtrar llamadas y proporcionar identificación de llamadas.ROLE_DIALER
: una aplicación con esta función se utilizará como aplicación de marcación predeterminada.ROLE_EMERGENCY
: Las aplicaciones en esta función se utilizarán como aplicaciones de servicios de emergencia predeterminadas (solo aplicaciones del sistema).ROLE_HOME
: una aplicación con este rol se usará como la aplicación de inicio predeterminada.ROLE_SMS
: La aplicación en esta función se usará como la aplicación de SMS predeterminada.ROLE_SYSTEM_GALLERY
: Las aplicaciones con esta función se utilizarán como aplicaciones de galería predeterminadas (solo aplicaciones del sistema).
Básicamente, al asumir uno de estos roles, Su aplicación será la aplicación predeterminada para algunos casos de usoPor ejemplo, manteniendo pulsado ROLE_BROWSER
función, su aplicación se utilizará como aplicación de navegador de Internet de forma predeterminada.
Cada rol tiene diferentes requisitos que se deben cumplir para solicitar correctamente. Lea la documentación de cada función anterior para obtener más información.
Por conveniencia, RoleManager
La clase tiene los siguientes 3 métodos para administrar roles:
isRoleAvailable(role: String)
: marcar si se darole
disponible en el sistema.isRoleHeld(role: String)
: Comprueba si la aplicación actual tiene elrole
.createRequestRoleIntent(role: String)
: devuelve un mensaje que solicita al usuario que conceda la intención dadarole
a la aplicación actual.
En este artículo crearemos una aplicación simple para demostrar esto RoleManager
clase.Crearemos una solicitud ROLE_BROWSER
Como se muestra abajo:
Siga los pasos proporcionados a continuación para crear esta aplicación.
1. Abra Android Studio. Cree un nuevo proyecto usando la opción «Actividad vacía».
2. Primero, debemos agregar un filtro de intención para que nuestra aplicación pueda manejar la intención de navegar por Internet.Esta es la solicitud de ROLE_BROWSER
Papel. Otros roles tendrán diferentes requisitos.Abierto AndroidManifest.xml
archivo y actualícelo de esta manera:
3. A continuación, actualizaremos nuestro archivo de diseño, activity_main.xml
Como se muestra en la imagen a continuación, el diseño contendrá 2 vistas de texto que mostrarán si el personaje está disponible en el dispositivo y si la aplicación tiene el personaje.También contiene un botón que solicitará al usuario que otorgue el rol a esta aplicación.
Para crear este diseño, copie y pegue el siguiente fragmento de código:
4. Finalmente, necesitamos actualizar nuestro MainActivity.kt
documento. Continúe y copie y pegue el fragmento de código a continuación.Lo más importante a tener en cuenta es createRequestRoleIntent()
, isRoleAvailable()
y isRoleHeld()
método. ¡Es muy sencillo!
5. ¡Eso es todo! Ahora ejecute su aplicación y debería ver algo como esto:
¡Como siempre, gracias por leer!