Widgets y accesos directos

La nueva API de flujo para agregar accesos directos y widgets en Android 8.0 permite a los desarrolladores de apps agregar accesos directos y widgets desde el interior de la app en lugar de depender de la bandeja de widgets. También se dejó de usar el método anterior (enviar una transmisión) para agregar atajos por motivos de seguridad.

Los selectores deben admitir esta nueva implementación para que los desarrolladores de apps puedan depender del sistema para agregar su atajo o widget.

Ejemplos y fuente

Los documentos están disponibles en varias clases de sistemas. Entre las referencias, se incluyen las siguientes:

  • ShortcutManager.java
    Publica la sección de accesos directos fijados en el encabezado.
  • Intent.java
    Javadoc para ACTION_CREATE_SHORTCUT.
  • AppWidgetManager.java
    Javadoc para requestPinAppWidget.

Implementación

Los implementadores de dispositivos deben agregar una actividad en su selector con acciones de filtro de intents:

  • android.content.pm.action.CONFIRM_PIN_SHORTCUT
  • android.content.pm.action.CONFIRM_PIN_APPWIDGET

Consulta la documentación de la API para obtener más detalles.

Esta actividad debe mostrar un mensaje de confirmación al usuario para agregar el widget o atajo solicitado y, cuando lo acepte, agregar el widget o atajo correspondiente en la pantalla principal.

En el caso de los widgets, la llamada a accept() debe incluir el ID del widget agregado recientemente.

Cómo implementar una IU del sistema

Los socios deben actualizar su app de selector con la implementación de Launcher3 (packages/apps/Launcher3) como referencia.

Busca los cambios relevantes de Launcher3 en el Proyecto de código abierto de Android (AOSP):

Validación

Para validar la función, intenta agregar atajos desde Chrome o la app de Contactos y verifica que se muestre un mensaje de confirmación adecuado. Cuando aceptes, el ícono se agregará a la pantalla principal y Chrome mostrará un aviso de éxito.