Android 8.0 (API düzeyi 26) ve sonraki sürümlerde, kullanıcıların widget'larınızı uygulamanızdan ana ekranlarına sabitlemesine izin verebilirsiniz. Widget'ları doğrudan uygulamanızda tanıtmak, özellikle kullanıcı ilgili bir görevi tamamladıktan sonra veya uygulamanızdaki bir özelliğe tekrar tekrar eriştiğinde kullanıcı etkileşimini artırmanın harika bir yoludur.
PIN isteği oluşturma
Widget'ı sabitleme işlemini başlatmak için requestPinGlanceAppWidget
sınıfındaki GlanceAppWidgetManager
yöntemini kullanın. Android'in daha eski sürümlerinde çalışan uygulamalar için bu işlev false değerini döndürür. Ancak istek sisteme başarıyla gönderilirse bu işlev true değerini döndürür.
PIN isteğini nasıl oluşturabileceğinize dair bir örneği aşağıda bulabilirsiniz:
@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) ) } } ) {} }
Bu örnekte MyWidgetReceiver
, widget'ın geri çağırmalarını alan sınıf, MyWidget
ise sabitlemek istediğiniz Glance widget'ıdır. successCallback
, widget başarıyla sabitlendiğinde tetiklenen bir PendingIntent
'dir.
Pin İsteği Yanıtını İşleme
Kullanıcı pin isteği iletişim kutusunu yanıtladığında uygulamanız bir yanıt alır. Kullanıcı isteği kabul ederse widget'ınız ana ekranına sabitlenir ve successCallback
PendingIntent
tetiklenir. Kullanıcı isteği reddederse hiçbir şey olmaz.
successCallback
işlevinin yalnızca widget ana ekrana başarıyla eklendiğinde tetiklendiğini unutmayın. Kullanıcı isteği reddederse veya başlatıcı sabitlemeyi desteklemiyorsa tetiklenmez.