A nova API de fluxo para adicionar atalhos e widgets no Android 8.0 permite que os desenvolvedores de apps adicionem atalhos e widgets de dentro do app, em vez de depender da bandeja de widgets. O método antigo (envio de uma transmissão) de adição de atalhos também foi descontinuado por motivos de segurança.
Os iniciadores precisam oferecer suporte a essa nova implementação para que os desenvolvedores de apps possam confiar no sistema para adicionar o atalho ou widget.
Exemplos e origem
Os documentos estão disponíveis em várias classes do sistema. As referências incluem:
- ShortcutManager.java
Publicar a seção de atalhos fixados no cabeçalho. - Intent.java
Javadoc para ACTION_CREATE_SHORTCUT. - AppWidgetManager.java
Javadoc para requestPinAppWidget.
Implementação
Os implementadores de dispositivos precisam adicionar uma atividade na tela de início com ações de filtro de intent:
android.content.pm.action.CONFIRM_PIN_SHORTCUT
android.content.pm.action.CONFIRM_PIN_APPWIDGET
Consulte a documentação da API para mais detalhes.
Essa atividade precisa mostrar uma solicitação de confirmação ao usuário para adicionar o widget/atalho solicitado e, após a aceitação, adicionar o widget/atalho correspondente na tela inicial.
No caso de widgets, a chamada accept()
precisa incluir o ID do widget
recém-adicionado.
Como implementar uma interface do sistema
Os parceiros precisam atualizar o app da tela de início usando a implementação do Launcher3
(packages/apps/Launcher3
) como referência.
Encontre as mudanças relevantes do Launcher3 no Android Open Source Project (AOSP):
- Change-Id: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- Change-Id: 278359539c02ca160caf1df54ce96053a2a2ef59
Validação
Para validar o recurso, tente adicionar atalhos do Chrome ou do app Contatos e verifique se um aviso de confirmação adequado é exibido. Após a aceitação, o ícone será adicionado à tela inicial, e o Chrome vai mostrar uma mensagem de sucesso.