Sichtbarkeit von Widgets

Auf Geräten mit Android 8.0 (API-Level 26) und höher können Nutzer mit Launchern angeheftete Verknüpfungen erstellen und Widgets an ihren Startbildschirm anpinnen. Ähnlich wie angepinnte Verknüpfungen bieten diese angepinnten Widgets Nutzern Zugriff auf bestimmte Aufgaben in Ihrer App. Sie können dem Startbildschirm direkt aus der App 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 deiner App kannst du eine Anfrage erstellen, damit das System ein Widget an einen unterstützten Launcher anpinnen kann. Führe dazu die folgenden Schritte aus:

  1. Achten Sie darauf, ein Widget in der Manifestdatei Ihrer App zu deklarieren.

  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 dein Widget über die Widget-Auswahl oder in deiner App finden und hinzufügen, wenn die Funktionalität des Widgets am relevantesten ist. Weitere Informationen finden Sie unter Erkennung und Promotion.