确定Google搜索操作会导致isVoiceInteraction()始终返回false

时间:2016-02-26 03:24:22

标签: android google-voice-actions

Google CodeLabs example for the Voice Interaction API中,使用以下意图过滤器定义活动(请参阅步骤6):

<intent-filter>
    <action android:name="android.media.action.STILL_IMAGE_CAMERA" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.VOICE" />
</intent-filter>

使用&#34; OK Google时,请自拍&#34;语音命令,意图是使用android.intent.category.VOICE类别触发的。这在LogCat中显示为:

02-26 15:32:42.423 779-6923/? I/ActivityManager: START u0 {act=android.media.action.STILL_IMAGE_CAMERA cat=[android.intent.category.VOICE] flg=0x18000000 pkg=com.example.android.voicecamera cmp=com.example.android.voicecamera/.TakePictureActivity (has extras)} from uid 10027 on display 0

在我自己的应用中,我已将以下意图过滤器添加到我的语音搜索活动中:

<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>

但是,如果我提供&#34;确定Google,在[我的应用]&#34;上搜索计算机,则语音类别不会添加到意图中:

02-26 16:17:26.722 779-14786/? I/ActivityManager: START u0 {act=com.google.android.gms.actions.SEARCH_ACTION pkg=com.my.pkg cmp=com.my.pkg/.activity.VoiceSearchActivity (has extras)} from uid 10027 on display 0

由于在Intent中未正确设置此类别,Activity.isVoiceInteraction()Activity.isVoiceInteractionRoot()都返回false

任何人都可以解释为什么会这样吗?

谢谢!

0 个答案:

没有答案