Przypinanie widżetów Szybki podgląd w aplikacji

W Androidzie 8.0 (API na poziomie 26) i nowszym możesz zezwolić użytkownikom na przypinanie widżetów do ekranu głównego w aplikacji. Promowanie widżetów bezpośrednio w aplikacji to świetny sposób na zwiększenie zaangażowania użytkowników, zwłaszcza po wykonaniu przez nich powiązanego zadania lub gdy użytkownik wielokrotnie korzysta z funkcji w aplikacji.

Tworzenie prośby o kod PIN

Aby zainicjować przypinanie widżetu, użyj metody requestPinGlanceAppWidget z klasy GlanceAppWidgetManager. W przypadku aplikacji działających na starszych wersjach Androida zwraca wartość false. Jeśli jednak żądanie zostanie wysłane do systemu, funkcja zwróci wartość „true”.

Oto przykład tworzenia prośby o kod PIN:

@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)
                )
            }
        }
    ) {}
}

W tym przykładzie MyWidgetReceiver to klasa, która odbiera wywołania zwrotne widżetu, a MyWidget to widżet Glance, który chcesz przypiąć. successCallback to PendingIntent, który jest wywoływany, gdy widżet zostanie przypięty.

Obsługa odpowiedzi na prośbę o PIN

Gdy użytkownik odpowie na prośbę o kod PIN, aplikacja otrzyma odpowiedź. Jeśli użytkownik zaakceptuje prośbę, widżet zostanie przypięty do jego ekranu głównego i wywoła się zdarzenie successCallback PendingIntent. Jeśli użytkownik odrzuci prośbę, nic się nie stanie.

Warto pamiętać, że zdarzenie successCallback jest wywoływane tylko wtedy, gdy widżet zostanie dodany do ekranu głównego. Nie jest wywoływana, jeśli użytkownik odrzuci prośbę lub jeśli program uruchamiający nie obsługuje przypinania.