1

我在使用 VoiceInteractor 时遇到问题。这是我的清单部分:

<activity android:name=".ProductSearchActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.google.android.gms.actions.SEARCH_ACTION" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.VOICE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>
    </application>

而在活动中,

@Override
public void onResume() {
   super.onResume();
   if (isVoiceInteraction()) {
      getVoiceInteractor().submitRequest(new VoiceInteractor.PickOptionRequest(prompt, optionArr, null) {
                    @Override
                    public void onPickOptionResult(boolean finished, Option[] selections, Bundle result) {
                        if (finished && selections.length == 1) {

                            showResult(selections[0].getIndex());
                        }
                    }

                    @Override
                    public void onCancel() {
                        getActivity().finish();
                    }
                });
   }
}

每当我使用“OK Google,在 MYCART 上搜索夹克”启动我的应用程序时,它都会启动应用程序,但 isVoiceInteraction() 总是返回 false 并且 getVoiceInteractor() 总是返回 null,即使我通过谷歌搜索启动应用程序也是如此。任何人都可以帮助我吗?

4

0 回答 0