Widgets/atalhos

A nova API de fluxo para adicionar atalhos e widgets no Android 8.0 permite que os desenvolvedores de aplicativos adicionem atalhos e widgets de dentro do aplicativo, em vez de depender da bandeja de widgets. Também descontinua o método antigo (envio de transmissão) de adicionar atalhos por motivos de segurança.

Os lançadores precisam oferecer suporte a essa nova implementação para que os desenvolvedores de aplicativos possam contar com o sistema para adicionar seu atalho ou widget.

Exemplos e fonte

Os documentos estão disponíveis em várias classes de sistema. As referências incluem o seguinte:

  • ShortcutManager.java
    Publicar seção de atalho fixado no cabeçalho.
  • Intenção.java
    Javadoc para ACTION_CREATE_SHORTCUT.
  • AppWidgetManager.java
    Javadoc para requestPinAppWidget.

Implementação

Os implementadores de dispositivos precisam adicionar uma atividade em seu inicializador com ações de filtro de intenção:

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

Consulte a documentação da API para obter mais detalhes.

Esta atividade deve exibir um prompt de confirmação para o usuário adicionar o widget/atalho solicitado e ao aceitar, adicionar o widget/atalho correspondente na tela inicial.

No caso de widgets, a chamada accept() deve incluir o ID do widget recém-adicionado.

Implementando uma IU do sistema

Os parceiros precisam atualizar seu aplicativo Launcher usando a implementação do Launcher3 ( packages/apps/Launcher3 ) como referência.

Encontre as alterações relevantes do Launcher3 no Android Open Source Project (AOSP):

Validação

Para validar o recurso, tente adicionar atalhos do Chrome ou do aplicativo Contatos e verifique se um prompt de confirmação adequado é mostrado. Ao aceitar, o ícone deverá ser adicionado à tela inicial e o Chrome deverá exibir um brinde de sucesso.