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):
- ID modifica: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- ID modifica: 278359539c02ca160caf1df54ce96053a2a2ef59
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.