Ab Android 8.0 (API-Level 26) können Nutzer deine Widgets direkt in deiner App an ihren Startbildschirm anpinnen. Wenn du Widgets direkt in deiner App bewirbst, kannst du die Nutzerinteraktion steigern, insbesondere nachdem ein Nutzer eine zugehörige Aufgabe abgeschlossen hat oder wenn er wiederholt auf eine Funktion in deiner App zugreift.
PIN-Anfrage erstellen
Verwenden Sie die Methode requestPinGlanceAppWidget aus der Klasse GlanceAppWidgetManager, um das Anpinnen von Widgets zu initiieren. Bei Apps, die auf älteren Android-Versionen ausgeführt werden, wird „false“ zurückgegeben. Wenn die Anfrage jedoch erfolgreich an das System gesendet wird, wird „true“ zurückgegeben.
Hier 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 du anpinnen möchtest. successCallback ist ein PendingIntent, das ausgelöst wird, wenn das Widget angepinnt wurde.
Antwort auf die PIN-Anfrage verarbeiten
Wenn ein Nutzer auf das Dialogfeld für die PIN-Anfrage reagiert, erhält deine App eine Antwort. Wenn der Nutzer die Anfrage akzeptiert, wird das Widget auf dem 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 wurde. Er wird nicht ausgelöst, wenn der Nutzer die Anfrage ablehnt oder der Launcher das Anpinnen nicht unterstützt.