在 Android 8.0 (API 級別 26) 以上版本中,您可以讓使用者在應用程式內將小工具釘選到主畫面。直接在應用程式中宣傳小工具,是提高使用者參與度的絕佳方式,尤其是在使用者完成相關工作後,或是重複存取應用程式中的某項功能時。
建立 PIN 碼要求
如要啟動小工具固定作業,請使用 GlanceAppWidgetManager
類別的 requestPinGlanceAppWidget
方法。如果應用程式在較舊的 Android 版本上執行,這會傳回 false。不過,如果要求已成功傳送至系統,則會傳回 true。
以下範例說明如何建立 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) ) } } ) {} }
在本例中,MyWidgetReceiver
是接收小工具回呼的類別,MyWidget
則是您要釘選的 Glance 小工具。小工具成功釘選時,會觸發 PendingIntent
。successCallback
PendingIntent
處理 PIN 碼要求回應
使用者回應 PIN 碼要求對話方塊後,應用程式就會收到回應。如果使用者接受要求,系統就會將小工具釘選到主畫面,並觸發 successCallback
PendingIntent
。如果使用者拒絕要求,則不會有任何異動。
請注意,只有在小工具成功新增至主畫面時,才會觸發 successCallback
。如果使用者拒絕要求,或啟動器不支援釘選,就不會觸發這個事件。