Как найти виджет

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

Пример закрепления виджета
Рисунок 1. Пример закрепления виджета.

Как разрешить пользователям закреплять виджет

Чтобы создать запрос на закрепление виджета в поддерживаемом лаунчере, выполните следующие действия:

  1. Убедитесь, что вы объявили виджет в файле манифеста приложения.

  2. Вызовите метод requestPinAppWidget(), как показано в следующем фрагменте кода:

val appWidgetManager = AppWidgetManager.getInstance(context)
val myProvider = ComponentName(context, ExampleAppWidgetProvider::class.java)

if (appWidgetManager.isRequestPinAppWidgetSupported) {
    // Create the PendingIntent object only if your app needs to be notified
    // when the user chooses to pin the widget. Note that if the pinning
    // operation fails, your app isn't notified. This callback receives the ID
    // of the newly pinned widget (EXTRA_APPWIDGET_ID).
    val successCallback = PendingIntent.getBroadcast(
        /* context = */ context,
        /* requestCode = */ 0,
        /* intent = */ Intent(
            // ...
        ),
        /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
    )

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback)
}

Пользователи находят и добавляют виджеты через средство выбора виджетов или из приложения, когда функции виджета наиболее актуальны. Подробнее о продвижении и поиске…