为什么 getVoiceInteractor() 返回 null?

马克西姆·彼得罗夫

我正在尝试获取 VoiceInteractor,但 getVoiceInteractor() 方法始终返回 null。在清单中,我写了以下内容:

<activity android:name=".Activity_2">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.VOICE" />
        </intent-filter>
</activity>

活动_1:

protected void onCreate(Bundle savedInstanceState) {
      startActivity(new Intent(Activity_1.this, Activity_2.class));
}

活动_2:

protected void onCreate(Bundle savedInstanceState) {
       VoiceInteractor mInteractor;
       mInteractor = getVoiceInteractor();
}
延斯

文档似乎有点不清楚,但我发现了以下线索:

  • startLocalVoiceInteraction() 似乎需要能够获得 VoiceInteractor
  • onLocalVoiceInteractionStarted() 似乎表明你什么时候可以打电话 getVoiceInteractor
  • 最后一条线索来自onGetDirectAction它所说的:

    要获得语音交互器,您需要调用 getVoiceInteractor() ,只有在正在进行语音交互会话时才会返回非 null

这意味着您的代码应如下所示:

public class YourActivity extends Activity {
  public void onCreate(Bundle savedInstanceState) {
    startLocalVoiceInteraction(new Bundle());
  }

  @Override
  public void onLocalVoiceInteractionStarted() {
    getVoiceInteractor(); // Should be non-null here
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章