Sichtbarkeit von Widgets

Auf Geräten mit Android 8.0 (API-Level 26) und höher können Nutzer in Launchern, die das Erstellen von angepinnten Verknüpfungen ermöglichen, auch Widgets auf dem Startbildschirm anpinnen. Ähnlich wie bei angepinnten Verknüpfungen können Nutzer über angepinnte Widgets auf bestimmte Aufgaben in Ihrer App zugreifen. Sie 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 erstellen, damit das System ein Widget an einen unterstützten Launcher anpinnt. 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 können Ihr Widget über die Widget-Auswahl oder in Ihrer App hinzufügen, wenn die Funktion des Widgets am relevantesten ist. Weitere Informationen finden Sie unter Auffindbarkeit und Werbung.