Виджеты и ярлыки

Новый API для добавления ярлыков и виджетов в Android 8.0 позволяет разработчикам приложений добавлять ярлыки и виджеты из приложения, а не из панели виджетов. Кроме того, по соображениям безопасности мы отказываемся от старого метода добавления ярлыков (отправки широковещательного сообщения).

Чтобы разработчики приложений могли полагаться на систему при добавлении ярлыков или виджетов, в лаунчерах должна быть реализована поддержка этой новой функции.

Примеры и источник

Документы доступны в различных системных классах. В справочных материалах есть:

  • ShortcutManager.java
    Раздел "Публикация закрепленного ярлыка" в заголовке.
  • Intent.java
    Документация Javadoc для ACTION_CREATE_SHORTCUT.
  • AppWidgetManager.java
    Javadoc для requestPinAppWidget.

Реализация

Производителям устройств необходимо добавить в программу запуска объект Activity с действиями фильтра интентов:

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

Подробная информация приведена в документации по API.

В этом случае пользователю должно показываться подтверждение добавления запрошенного виджета или ярлыка. Если пользователь соглашается, виджет или ярлык добавляется на главный экран.

В случае с виджетами вызов accept() должен включать идентификатор добавленного виджета.

Реализация интерфейса системы

Партнерам необходимо обновить приложение панели запуска, используя реализацию Launcher3 (packages/apps/Launcher3) в качестве справочной информации.

Найдите нужные изменения Launcher3 в Android Open Source Project (AOSP):

Проверка

Чтобы проверить работу функции, попробуйте добавить ярлыки из Chrome или приложения "Контакты" и убедитесь, что появляется запрос на подтверждение. После этого значок должен появиться на главном экране, а в Chrome должно появиться всплывающее уведомление об успешном добавлении.