Widget/scorciatoie

La nuova API di flusso per l'aggiunta di scorciatoie e widget in Android 8.0 consente agli sviluppatori di applicazioni di aggiungere scorciatoie e widget dall'interno dell'app invece di fare affidamento sulla barra dei widget. Inoltre depreca il vecchio metodo (invio di una trasmissione) di aggiungere scorciatoie per motivi di sicurezza.

I launcher devono supportare questa nuova implementazione in modo che gli sviluppatori di app possano fare affidamento sul sistema per aggiungere il proprio collegamento o widget.

Esempi e fonte

I documenti sono disponibili in varie classi di sistema. I riferimenti includono quanto segue:

  • ShortcutManager.java
    Pubblica la sezione di collegamento bloccato nell'intestazione.
  • Intento.java
    Javadoc per ACTION_CREATE_SHORTCUT.
  • AppWidgetManager.java
    Javadoc per requestPinAppWidget.

Implementazione

Gli implementatori del dispositivo devono aggiungere un'attività nel loro programma di avvio con azioni di filtro dell'intento:

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

Fare riferimento alla documentazione dell'API per maggiori dettagli.

Questa attività dovrebbe visualizzare una richiesta di conferma all'utente per aggiungere il widget/collegamento richiesto e, dopo aver accettato, aggiungere il widget/collegamento corrispondente sulla schermata iniziale.

Nel caso dei widget, la chiamata accept() dovrebbe includere l'ID del widget appena aggiunto.

Implementazione di un'interfaccia utente di sistema

I partner devono aggiornare la propria app Launcher utilizzando l'implementazione Launcher3 ( packages/apps/Launcher3 ) come riferimento.

Trova le modifiche rilevanti di Launcher3 nel progetto Android Open Source (AOSP):

Validazione

Per convalidare la funzione, prova ad aggiungere scorciatoie da Chrome o dall'app Contatti e verifica che venga visualizzata una richiesta di conferma corretta. Dopo aver accettato, l'icona dovrebbe essere aggiunta alla schermata iniziale e Chrome dovrebbe visualizzare un messaggio di successo.