Widgets/accesos directos

La nueva API de flujo para agregar accesos directos y widgets en Android 8.0 permite a los desarrolladores de aplicaciones agregar accesos directos y widgets desde dentro de la aplicación en lugar de depender de la bandeja de widgets. También desaprueba el antiguo método (enviar una transmisión) de agregar accesos directos por razones de seguridad.

Los lanzadores deben admitir esta nueva implementación para que los desarrolladores de aplicaciones puedan confiar en el sistema para agregar su acceso directo o widget.

Ejemplos y fuente

Los documentos están disponibles en varias clases de sistemas. Las referencias incluyen lo siguiente:

  • ShortcutManager.java
    Publicar la sección de acceso directo anclado en el encabezado.
  • Intención.java
    Javadoc para ACTION_CREATE_SHORTCUT.
  • AppWidgetManager.java
    Javadoc para requestPinAppWidget.

Implementación

Los implementadores de dispositivos deben agregar una actividad en su iniciador con acciones de filtro de intenciones:

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

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

Esta actividad debe mostrar un aviso de confirmación al usuario para agregar el widget/acceso directo solicitado y, al aceptar, agregar el widget/acceso directo correspondiente en la pantalla de inicio.

En el caso de los widgets, la llamada accept() debe incluir el ID del widget recién agregado.

Implementación de una interfaz de usuario del sistema

Los socios deben actualizar su aplicación de Launcher utilizando la implementación de Launcher3 ( packages/apps/Launcher3 ) como referencia.

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

Validación

Para validar la función, intente agregar accesos directos desde Chrome o la aplicación Contactos y verifique que se muestre un mensaje de confirmación adecuado. Al aceptar, el ícono debería agregarse en la pantalla de inicio y Chrome debería mostrar un brindis exitoso.