Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Permisos que solo se usan en controladores predeterminados

Varias funciones principales del dispositivo, como leer registros de llamadas y enviar mensajes SMS, dependen del acceso a información confidencial del usuario. Para proteger la privacidad y brindarles a los usuarios más control sobre la información que proporcionan a las apps en su dispositivo, Google Play restringe el acceso de las apps a los grupos de permisos relacionados con llamadas y mensajes.

Si distribuyes tu app en Google Play Store y quieres acceder a información confidencial del usuario relacionada con registros de llamadas y mensajes SMS, es necesario que tu app esté registrada como el controlador predeterminado del usuario para la función principal del dispositivo relacionada con ese permiso, a menos que la app esté incluida en uno de los casos de excepción que aparecen en el Centro de ayuda de Play Console. Por ejemplo, para acceder a los permisos relacionados con llamadas, tu app debe estar registrada como el controlador predeterminado del teléfono o del Asistente del usuario a menos que tu app entre en un caso de excepción.

En esta guía, se proporciona una breve descripción general de cómo los usuarios acceden a los controladores predeterminados en dispositivos con la tecnología de Android. También se revisan los requisitos que una app debe cumplir antes de ser apta para convertirse en un controlador predeterminado. Finalmente, se describe paso a paso el proceso de recibir el consentimiento del usuario para ser un controlador predeterminado.

Para obtener más información sobre los controladores predeterminados y sobre cómo manejar los permisos en una app que está disponible en Play Store, consulta la guía de política de permisos.

Consulta y cambia el conjunto de controladores predeterminados

Android incluye controladores predeterminados para varios casos de uso principales, como realizar llamadas telefónicas, enviar mensajes SMS y proporcionar capacidades de tecnología de accesibilidad.

La app Configuración en Android incluye una pantalla que muestra a los usuarios qué apps funcionan actualmente como controladores predeterminados para las funciones principales del dispositivo, como se muestra en la figura 1. Desde esta pantalla, los usuarios pueden cambiar el controlador predeterminado para una función determinada, como se muestra en la figura 2.

Captura de pantalla de la configuración de apps predeterminadas
Figura 1: Pantalla de la configuración del sistema que muestra la lista de controladores predeterminados en un dispositivo
Captura de pantalla de la configuración de la app de SMS predeterminada
Figura 2: Pantalla de configuración del sistema que muestra cómo cambiar el controlador de SMS predeterminado

Sigue los requisitos para los controladores predeterminados

Dada la información confidencial del usuario a la que accede una app mientras se usa como controlador predeterminado, tu app no puede convertirse en un controlador predeterminado si no cumple con los siguientes requisitos de la ficha y las funciones principales de Play Store:

  • Tu app debe poder realizar la función para la que es un controlador predeterminado. Por ejemplo, un controlador de SMS predeterminado debería poder enviar mensajes de texto.
  • Tu app debe proporcionar una política de privacidad.
  • Tu app debe dejar aclarar cuál es su función principal en la descripción de Play Store. Por ejemplo, un controlador de teléfono predeterminado debe describir las funciones relacionadas con el teléfono en la descripción.
  • Tu app debe declarar permisos que sean apropiados para su caso de uso. Para obtener más detalles sobre qué permisos puedes declarar como un controlador dado, consulta la guía sobre el uso de SMS o grupos de permisos de registro de llamadas en el Centro de ayuda de Play Console.
  • Tu app debe solicitar convertirse en un controlador predeterminado antes de solicitar los permisos asociados con ese controlador. Por ejemplo, una app debe solicitar convertirse en el controlador de SMS predeterminado antes de solicitar el permiso READ_SMS.

Después de asegurarte de que tu app cumpla con cada uno de los requisitos necesarios para convertirse en un controlador predeterminado, puedes agregar lógica para mostrar el cuadro de diálogo que aparece en la figura 3. Este cuadro de diálogo le pide al usuario que configure tu app como el controlador predeterminado para un caso práctico específico.

En el siguiente código de ejemplo, se incluye la lógica necesaria para mostrar un mensaje que le pide al usuario que cambie el controlador de SMS predeterminado de su dispositivo:

Kotlin

    val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
    setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
    startActivityForResult(setSmsAppIntent, your-result-code)
    

Java

    Intent setSmsAppIntent =
            new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
    setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
            getPackageName());
    startActivityForResult(setSmsAppIntent, your-result-code);
    
Captura de pantalla que muestra un diálogo para el usuario
Figure 3: Mensaje en el que se le pregunta al usuario si quiere cambiar el controlador de SMS predeterminado de su dispositivo