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):
- Change-Id: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- Change-Id: 278359539c02ca160caf1df54ce96053a2a2ef59
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.