Widgets e atalhos

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):

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.