La nuova API di flusso per l'aggiunta di scorciatoie e widget in Android 8.0 consente agli sviluppatori di app di aggiungere scorciatoie e widget dall'interno dell'app anziché utilizzare la barra dei widget. Inoltre, per motivi di sicurezza, viene ritirato il vecchio metodo (invio di un messaggio di broadcast) per l'aggiunta di scorciatoie.
I lanciatori devono supportare questa nuova implementazione in modo che gli sviluppatori di app possano fare affidamento sul sistema per aggiungere la scorciatoia o il widget.
Esempi e origine
I documenti sono disponibili in vari sistemi di classificazione. I riferimenti includono:
- ShortcutManager.java
Pubblica la sezione Scorciatoie bloccate nell'intestazione. - Intent.java
Javadoc per ACTION_CREATE_SHORTCUT. - AppWidgetManager.java
Javadoc per requestPinAppWidget.
Implementazione
Gli implementatori di dispositivi devono aggiungere un'attività nel proprio Avvio app con azioni di filtro per intent:
android.content.pm.action.CONFIRM_PIN_SHORTCUT
android.content.pm.action.CONFIRM_PIN_APPWIDGET
Per ulteriori dettagli, consulta la documentazione dell'API.
Questa attività dovrebbe mostrare all'utente una richiesta di conferma per aggiungere il widget/la scorciatoia richiesto e, dopo l'accettazione, aggiungere il widget/la scorciatoia corrispondente sulla schermata Home.
Nel caso dei widget, la chiamata accept()
deve includere l'ID
widget del widget appena aggiunto.
Implementazione di un'interfaccia utente di sistema
I partner devono aggiornare la propria app Avvio utilizzando come riferimento l'implementazione di Launcher3
(packages/apps/Launcher3
).
Trova le modifiche pertinenti a Launcher3 nell'Android Open Source Project (AOSP):
- Change-Id: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- Change-Id: 278359539c02ca160caf1df54ce96053a2a2ef59
Convalida
Per convalidare la funzionalità, prova ad aggiungere scorciatoie da Chrome o dall'app Contatti e verifica che venga visualizzato un messaggio di conferma appropriato. Dopo l'accettazione, l'icona dovrebbe essere aggiunta alla schermata Home e Chrome dovrebbe mostrare un messaggio di conferma.