Mit Android 8.0 (API-Level 26) und höher können Sie Nutzern ermöglichen, Ihre Widgets in Ihrer App an den Startbildschirm anzuheften. 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.
Anheftungsanfrage erstellen
Verwenden Sie die requestPinGlanceAppWidget Methode
aus der GlanceAppWidgetManager Klasse, um das Anheften von Widgets zu initiieren. Bei Apps, die unter 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 ein Beispiel für das Erstellen einer Anheftungsanfrage:
@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 ist das Glance-Widget, das Sie anheften möchten. Der successCallback ist ein PendingIntent, der ausgelöst wird, wenn das Widget erfolgreich angeheftet wurde.
Antwort auf Anheftungsanfrage verarbeiten
Wenn ein Nutzer auf das Dialogfeld für die Anheftungsanfrage antwortet, erhält Ihre App eine Antwort. Wenn der Nutzer die Anfrage akzeptiert, wird Ihr Widget an den Startbildschirm angeheftet und das PendingIntent successCallback wird ausgelöst. Wenn der Nutzer die Anfrage ablehnt, passiert nichts.
Beachten Sie, dass successCallback nur ausgelöst wird, wenn das Widget erfolgreich zum Startbildschirm hinzugefügt wurde. Es wird nicht ausgelöst, wenn der Nutzer die Anfrage ablehnt oder wenn der Launcher das Anheften nicht unterstützt.