Ab Android 8.0 (API-Level 26) können Sie Nutzern ermöglichen, Ihre Widgets in Ihrer App an den Startbildschirm anzupinnen. Das Bewerben von Widgets direkt in Ihrer App ist eine gute Möglichkeit, die Nutzerinteraktion zu steigern, insbesondere nachdem ein Nutzer eine entsprechende Aufgabe abgeschlossen hat oder wenn ein Nutzer wiederholt auf eine Funktion in Ihrer App zugreift.
PIN-Anfrage erstellen
Verwenden Sie zum Starten des Anpinnens von Widgets die Methode requestPinGlanceAppWidget
aus der Klasse GlanceAppWidgetManager
. Für Apps, die auf niedrigeren Android-Versionen ausgeführt werden, wird „false“ zurückgegeben. Wenn die Anfrage jedoch erfolgreich an das System gesendet wird, wird „true“ zurückgegeben.
Hier ist ein Beispiel für das Erstellen einer PIN-Anfrage:
@Composable fun AnInAppComposable() { val context = LocalContext.current val coroutineScope = rememberCoroutineScope() Button( onClick = { coroutineScope.launch { GlanceAppWidgetManager(context).requestPinGlanceAppWidget( receiver = MyWidgetReceiver::class.java, preview = MyWidget(), previewState = DpSize(245.dp, 115.dp) ) } } ) {} }
In diesem Beispiel ist MyWidgetReceiver
die Klasse, die die Callbacks des Widgets empfängt, und MyWidget
das Glance-Widget, das Sie anpinnen möchten. successCallback
ist ein PendingIntent
, das ausgelöst wird, wenn das Widget erfolgreich angepinnt wurde.
Antwort auf die Anfrage zum Anpinnen verarbeiten
Wenn ein Nutzer auf das Dialogfeld für die PIN-Anfrage reagiert, erhält Ihre App eine Antwort. Wenn der Nutzer die Anfrage akzeptiert, wird Ihr Widget auf seinem Startbildschirm angepinnt und der successCallback
PendingIntent
wird ausgelöst. Wenn der Nutzer die Anfrage ablehnt, passiert nichts.
Wichtig: Der successCallback
wird nur ausgelöst, wenn das Widget dem Startbildschirm hinzugefügt wird. Sie wird nicht ausgelöst, wenn der Nutzer die Anfrage ablehnt oder wenn der Launcher das Anpinnen nicht unterstützt.