Accesos directos a aplicaciones

La versión 7.1.1 de Android permite a los desarrolladores definir accesos directos en sus apps que se pueden mostrar en un selector. Estas aplicaciones de acceso directo permiten a los usuarios iniciar rápidamente tareas comunes o recomendadas .

Cada atajo hace referencia a un intent que inicia una acción específica en la app. cuando los usuarios seleccionan el atajo. Ejemplos de acciones que puedes expresar como app Estas son algunas de las combinaciones de teclas:

  • Navegar a los usuarios hacia una ubicación específica en una app de mapas
  • Cómo enviar mensajes a un amigo en una app de comunicación
  • Cómo reproducir el siguiente episodio de un programa de TV en una app multimedia
  • Cómo cargar el último punto obtenido en una app de juego

Ejemplos y fuente

Puedes encontrar la implementación principal de esta función en los siguientes archivos:

frameworks/base/services/core/java/com/android/server/policy/ShortcutManager.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackage.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutUser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutLauncher.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutParser.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutService.java
frameworks/base/services/core/java/com/android/server/pm/LauncherAppsService.java
frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageItem.java
frameworks/base/core/java/com/android/server/backup/ShortcutBackupHelper.java
frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutServiceInternal.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

Como los siguientes archivos proporcionan funciones compatibles (llamadas APIs ocultas en ShortcutManager.java):

packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java

Y, por ejemplo, la versión 3 del Selector de proyectos de código abierto de Android accesos directos:

packages/apps/Launcher3/

Por último, consulta los siguientes archivos para Javadoc público.

frameworks/base/core/java/android/content/pm/ShortcutManager.java
frameworks/base/core/java/android/content/pm/ShortcutInfo.java
frameworks/base/core/java/android/content/pm/LauncherApps.java

Implementación

AOSP Launcher3 ya admite combinaciones de teclas. En los casos en que un socio tenga su propio selector, ese selector también debe admitir accesos directos.

  • Cuando el usuario realiza un gesto determinado (p.ej., mantener presionado) el ícono de una app, el selector debe mostrar los accesos directos dinámicos y del manifiesto asociados con cada uno ícono de actividad de lanzamiento.
    El orden de los accesos directos se define en el Javadoc de ShorctutManager dentro de el "Orden de visualización de los accesos directos" sección. Por ejemplo, muestra los accesos directos del manifiesto primero, y luego los atajos dinámicos. Los accesos directos se ordenan según la clasificación en orden ascendente dentro de cada grupo.
  • El usuario debe poder arrastrar cada atajo dinámico o del manifiesto y "fijar" it a la pantalla de inicio.
  • Se deben crear copias de seguridad de los accesos directos fijos y restablecerlos. (Consulta las javadoc para obtener información)
  • Hacer una “respuesta intercalada” en Notificaciones debe llamar internamente shortManager.onApplicationActive.

Además, algunas apps de los Servicios de Google para dispositivos móviles (GMS) tienen combinaciones de teclas. El OEM El selector debe mostrar combinaciones de teclas para ellos y, idealmente, admitir "fijación" (o creando un ícono de acceso directo).

Consulta la fuente de Launcher3 para obtener detalles sobre cómo interactuar con el framework para las operaciones anteriores.

Validación

Usa las siguientes pruebas del Conjunto de pruebas de compatibilidad (CTS) de Android para garantizar que versión de la función (shortManager y LauncherApps) que funcione según lo previsto:

cts/tests/tests/shortcutmanager/
cts/hostsidetests/shortcuts/

Además, puedes buscar las pruebas de unidades para la implementación del AOSP aquí:

frameworks/base/services/tests/servicestests/

que incluye lo siguiente:

src/com/android/server/pm/ShortcutManagerTest*.java

También puedes utilizar la prueba del verificador del CTS para el administrador de accesos directos:

cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java