Sichtbarkeit von Widgets

Auf Geräten mit Android 8.0 (API-Level 26) und höher können Launcher Nutzer erstellen auch angepinnte Verknüpfungen Widgets an ihren Startbildschirm anpinnen. Ähnlich wie angepinnte Tastenkombinationen angeheftete Widgets ermöglichen den Nutzern Zugriff auf bestimmte Aufgaben in Ihrer App und können direkt aus der App zum Startbildschirm hinzugefügt, wie im folgenden Video gezeigt.

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

Nutzern das Anpinnen eines Widgets erlauben

In Ihrer App können Sie eine Anfrage für das System erstellen, um ein Widget an ein Widget anzupinnen unterstützten Launcher, indem du die folgenden Schritte ausführst:

  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.