Perfiles de dispositivos complementarios

El perfil de dispositivo complementario, introducido en Android 12, es una función que permite que las aplicaciones complementarias soliciten un conjunto de permisos específicos para el tipo de dispositivo complementario, por ejemplo, un reloj inteligente. El uso de un perfil de dispositivo complementario simplifica el proceso de inscripción al permitir que las aplicaciones muestren un único mensaje a los usuarios en sus dispositivos móviles para solicitar un conjunto definido de permisos en lugar de múltiples mensajes que solicitan permisos individualmente. Esto puede permitir una experiencia de configuración más optimizada y mejores tasas de suscripción para aplicaciones complementarias.

Para utilizar perfiles de dispositivos complementarios, las aplicaciones complementarias deben cumplir los siguientes requisitos:

  • Administrar un dispositivo complementario (por ejemplo, un reloj inteligente).
  • Tenga funciones de aplicación o llame a API de Android que requieran todos los permisos definidos para el perfil del dispositivo complementario.

Cada perfil de dispositivo complementario corresponde a una función de Android. Para obtener más información sobre los permisos y la función de Android correspondiente de cada perfil, consulte Perfiles de dispositivos complementarios para aplicaciones de terceros .

Para obtener más información sobre los dispositivos complementarios, consulte Emparejamiento de dispositivos complementarios .

Comportamiento del dispositivo

Esta sección describe el comportamiento del dispositivo cuando se utilizan perfiles de dispositivos complementarios.

Cuando un usuario acepta la solicitud de una aplicación para crear una asociación con un dispositivo complementario, el servicio CompanionDeviceManager (CDM) asigna la función de perfil del dispositivo (por ejemplo, mirar) a la aplicación complementaria, otorgando todos los permisos definidos para esa función de perfil especificada. La Figura 1 muestra un ejemplo de una aplicación que solicita permisos para el perfil de dispositivo COMPANION_DEVICE_WATCH .

Ver mensaje de diálogo de perfil de dispositivo

Figura 1. Cuadro de diálogo que solicita permisos para el perfil del dispositivo de reloj.

Cuando un usuario borra los datos del paquete en Configuración o elimina todos los dispositivos en la aplicación complementaria, CDM revoca el perfil mientras la aplicación no se está ejecutando en primer plano ni hay ningún servicio en primer plano en ejecución. Revocar el perfil también revoca todos los permisos definidos para el perfil.

Después de que un usuario acepta la solicitud de una aplicación para otorgar permisos para un perfil de dispositivo en particular, el usuario puede revocar los permisos individuales que se otorgaron. Cuando un usuario revoca un permiso, la aplicación permanece asociada con el dispositivo complementario, pero es posible que ciertas funciones dejen de estar disponibles. Si se requiere permiso para que la aplicación funcione, la aplicación debe solicitar el permiso a través de una solicitud de permiso normal.

Perfiles de dispositivos complementarios para aplicaciones de terceros

Ver perfil

El perfil de reloj se introduce en Android 12.

La siguiente tabla describe los permisos definidos para el perfil de dispositivo COMPANION_DEVICE_WATCH y los requisitos para usarlos.

Permisos Requisitos del dispositivo y la aplicación complementaria
Notificaciones

BIND_NOTIFICATION_LISTENER_SERVICE
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla capaz de mostrar notificaciones (se excluyen los dispositivos que usan hápticos en lugar de una pantalla)
  • Proporciona una experiencia de notificación de cara al usuario, por ejemplo, mostrando notificaciones del teléfono en la pantalla del dispositivo complementario.
Phone
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene un micrófono y un altavoz incorporados que permiten la conversación de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamadas telefónicas de cara al usuario (la aplicación complementaria une las llamadas telefónicas)
SMS
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla que muestra mensajes SMS.
  • Proporcionar una experiencia de SMS orientada al usuario
Contacts
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Utiliza información de contacto como parte de la experiencia de llamadas o mensajes.
Calendar
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Proporcionar una experiencia de calendario orientada al usuario en el reloj.
Nearby devices
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Proporcionar una experiencia de emparejamiento/conexión de cara al usuario en el reloj
eSIM provisioning
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Proporcionar una experiencia de usuario que gestiona los servicios del suscriptor desde el operador en el reloj.
Managing ongoing calls
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene un micrófono y un altavoz incorporados que permiten la conversación de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamadas telefónicas de cara al usuario (la aplicación complementaria une las llamadas telefónicas)

Perfil de gafas

El perfil de Gafas se introduce en Android 14.

La siguiente tabla describe los permisos definidos para el perfil de dispositivo COMPANION_DEVICE_GLASSES y los requisitos para usarlos.

Permisos Requisitos del dispositivo y la aplicación complementaria
Notificaciones

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla capaz de mostrar notificaciones (se excluyen los dispositivos que usan hápticos en lugar de una pantalla)
  • Proporciona una experiencia de notificación de cara al usuario, por ejemplo, mostrando notificaciones del teléfono en la pantalla del dispositivo complementario.
  • Publica notificaciones telefónicas para la administración de dispositivos, por ejemplo, cuando se conecta un dispositivo de gafas o cuando se habilita una función específica.
Phone
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene un micrófono y un altavoz incorporados que permiten la conversación de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamadas telefónicas de cara al usuario (la aplicación complementaria une las llamadas telefónicas)
SMS
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla que muestra mensajes SMS.
  • Proporcionar una experiencia de SMS orientada al usuario
Contacts
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Utiliza información de contacto como parte de la experiencia de llamadas o mensajes.
Microphone
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Proporciona una experiencia de micrófono orientada al usuario en las gafas.
Nearby devices
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene una pantalla de visualización
  • Proporciona una experiencia de emparejamiento/conexión de cara al usuario en las gafas.
Managing ongoing calls
  • Ser un dispositivo conectado mediante Bluetooth y/o Wi-Fi
  • Tiene un micrófono y un altavoz incorporados que permiten la conversación de voz.
  • Tiene una pantalla que muestra información de la persona que llama.
  • Proporciona una experiencia de llamadas telefónicas de cara al usuario (la aplicación complementaria une las llamadas telefónicas)

Implementación

Para los desarrolladores externos que implementan una aplicación complementaria que solicita el perfil DEVICE_PROFILE_WATCH , haga lo siguiente:

  1. Llame al método setDeviceProfile .

  2. Pase un perfil (por ejemplo, DEVICE_PROFILE_WATCH al crear AssociationRequest .

Para los fabricantes de dispositivos que implementan una aplicación complementaria con un dispositivo específico, utilice las siguientes configuraciones requeridas del sistema Android para certificar la aplicación complementaria, lo que permite que la aplicación omita la visualización del cuadro de diálogo de consentimiento del usuario para los usuarios.

  1. Recupere el certificado usando el siguiente comando:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Reemplace el nombre del paquete y el certificado como se muestra en la siguiente entrada de ejemplo en el archivo de configuración:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Utilice AssociationRequest para realizar una solicitud de asociación a un único dispositivo complementario.

Validación

Para probar el comportamiento de la función de perfil del dispositivo complementario, utilice las pruebas CTS en cts/tests/tests/companion/ .