0

所以我只是想知道为什么我的代码不起作用。如何给 AppShorcutIntent 一个带有动作和数据之类的特定意图?

到目前为止,这是我的代码:

            val appShortcutIntent = AppShortcutIntent.builder()
                .setIntentName("actions.intent.OPEN_APP_FEATURE")
                .setPackageName("com.app.name")
                .setIntentParamName("feature")
                .setIntentParamValue("")
                .build()
            shortcutsClient.lookupShortcut(appShortcutIntent)
                .addOnSuccessListener { shortcutLookupResult ->
                    if (shortcutLookupResult.isShortcutPresent) {
                        shortcutsClient.createShortcutSettingsIntent().addOnSuccessListener { intent ->
                            requireActivity().startActivity(intent)
                        }
                        return@addOnSuccessListener
                    }
                    val signalShortcut = AppShortcutSuggestion.builder()
                        .setAppShortcutIntent(appShortcutIntent)
                        .setCommand("feature on")
                        .build()
                    shortcutsClient.createShortcutSuggestionIntent(signalShortcut).addOnSuccessListener { intent ->
                        requireActivity().startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
                    }
                }

我尝试了很多不同的东西,但似乎都不想按照我想要的方式工作。我知道这个问题没有任何具体的参数值,但无论我设置什么参数值,当我使用快捷方式时,它仍然没有被识别为独特的意图。

4

1 回答 1

0

应用内促销库 API 不处理 Android 意图。它处理 Assistant 的内置意图,这是完全不同的事情(尽管它们都被称为“意图”)。在您复制的示例中,它指的是名为OPEN_APP_FEATURE的 BII 。

通过使用此 API,您将告诉 Assistant 如何创建一个快捷方式,该快捷方式使用已配置为处理的 BII 启动应用程序。这个 BII 很重要,因为它具有识别与之相关的自然语言查询的能力。Android 意图没有那个上下文。

于 2021-06-15T23:13:41.680 回答