在應用程式內釘選「資訊一覽」小工具

在 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 小工具。小工具成功釘選時,會觸發 PendingIntentsuccessCallbackPendingIntent

處理 PIN 碼要求回應

使用者回應 PIN 碼要求對話方塊後,應用程式就會收到回應。如果使用者接受要求,系統就會將小工具釘選到主畫面,並觸發 successCallback PendingIntent。如果使用者拒絕要求,則不會有任何異動。

請注意,只有在小工具成功新增至主畫面時,才會觸發 successCallback。如果使用者拒絕要求,或啟動器不支援釘選,就不會觸發這個事件。