Sichtbarkeit von Widgets

Auf Geräten mit Android 8.0 (API-Ebene 26) und höher können Nutzer in Launchern, mit denen angepinnte Verknüpfungen erstellt werden können, auch Widgets auf dem Startbildschirm anpinnen. Ähnlich wie angepinnte Verknüpfungen bieten diese angepinnten Widgets Nutzern Zugriff auf bestimmte Aufgaben in Ihrer App und können direkt über die App zum Startbildschirm hinzugefügt werden, wie im folgenden Video gezeigt.

Beispiel für ein responsives Layout
Abbildung 2. Beispiel für das Anpinnen eines Widgets

Nutzern erlauben, ein Widget anzupinnen

In Ihrer App können Sie eine Anfrage an das System senden, ein Widget an einen unterstützten Launcher anzupinnen. Gehen Sie dazu so vor:

  1. Deklarieren Sie ein Widget in der Manifestdatei Ihrer App.

  2. Rufen Sie die Methode requestPinAppWidget() auf, wie im folgenden Code-Snippet gezeigt:

Kotlin

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)

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback)
}

Java

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
ComponentName myProvider = new ComponentName(context, ExampleAppWidgetProvider.class);

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).
    PendingIntent successCallback = PendingIntent.getBroadcast(
            /* context = */ context,
            /* requestCode = */ 0,
            /* intent = */ new Intent(...),
            /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT);

    appWidgetManager.requestPinAppWidget(myProvider, null, successCallback);
}

Nutzer finden Ihr Widget über die Widget-Auswahl oder in Ihrer App, wenn die Funktion des Widgets am relevantesten ist. Weitere Informationen finden Sie unter Entdeckung und Werbung.