Widgets/atajos

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 método antiguo (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 sistema. Las referencias incluyen lo siguiente:

  • Administrador de accesos directos.java
    Publicar la sección de acceso directo fijada 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 intención:

  • 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 mensaje de confirmación al usuario para que agregue el widget/atajo solicitado y, al aceptar, agregue el widget/atajo 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 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.