На устройствах с Android 8.0 (уровень API 26) и более поздними версиями лаунчеры, позволяющие создавать закрепленные ярлыки, также позволяют закреплять виджеты на главном экране. Как и закрепленные ярлыки, закрепленные виджеты дают пользователям доступ к определенным задачам в приложении. Их можно добавить на главный экран прямо из приложения, как показано в видео ниже.
Как разрешить пользователям закреплять виджет
Чтобы создать запрос на закрепление виджета в поддерживаемом лаунчере, выполните следующие действия:
Убедитесь, что вы объявили виджет в файле манифеста приложения.
Вызовите метод
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) }
Рекомендации по дизайну
Пользователи находят и добавляют виджеты через средство выбора виджетов или из приложения, когда функции виджета наиболее актуальны. Подробнее о продвижении и поиске…