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

在 Android 8.0 (API 級別 26) 以上版本中,您可以讓使用者在應用程式中將小工具固定到主畫面。直接在應用程式中宣傳小工具,是提高使用者參與度的絕佳方式,尤其是在使用者完成相關工作後,或使用者重複存取應用程式中的功能時。

建立 PIN 碼要求

如要啟動小工具固定功能,請使用 GlanceAppWidgetManager 類別的 requestPinGlanceAppWidget 方法。如果應用程式在較低版本的 Android 上執行,則會傳回 false。不過,如果要求成功傳送至系統,則會傳回 true。

以下是建立固定要求的範例:

@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 小工具。successCallback 是在小工具成功置頂時觸發的 PendingIntent。

處理 PIN 碼要求回應

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

請注意,只有在小工具成功新增至主畫面時,系統才會觸發 successCallback。如果使用者拒絕要求,或啟動器不支援固定功能,則不會觸發。