【发布时间】:2015-10-13 06:37:16
【问题描述】:
我已经在 Android TV 应用中使用 Leanback Search Fragment 实现了搜索视图。 它适用于键盘输入文本。但语音搜索返回 RESULT_CLIENT_ERROR 99%。但是,文本出现在屏幕上的编辑文本中,但不会在 onActivityResult 中返回。有一次,我在意图中得到了带有正确数据的 RESULT_OK 。 设备:Nexus 播放器
即使是默认搜索,大多数项目的工作方式也相同。我几乎无法通过语音获得结果。 (我的意思是在 nexus 播放器的主屏幕中搜索)
我尝试使用 SearchEditText 的参考来获取文本,但没有运气。
以下是代码:
setSpeechRecognitionCallback(new SpeechRecognitionCallback() {
@Override
public void recognizeSpeech() {
try {
startActivityForResult(getRecognizerIntent(), REQUEST_SPEECH);
} catch (final ActivityNotFoundException e) {
Log.d("ActivityNotFoundException",e.toString());
}
}
});
onActivityResult
@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_SPEECH:
switch (resultCode) {
case Activity.RESULT_OK:
setSearchQuery(data, true);
break;
case RecognizerIntent.RESULT_CLIENT_ERROR:
Log.d("RESULT_CLIENT_ERROR", String.valueOf(requestCode));
break;
}
}
}
我如何让它 100% 工作我可以改变提供的意图吗?
【问题讨论】:
-
不知道有没有关系,请问你的权限是怎么设置的? New permissions requirements for Android TV 发生了变化。
-
我在没有录音权限的情况下使用 SpeechRecognitionCallback 。截至目前,我的目标是 API 22。
-
看来权限没问题...我很高兴听到这个消息,因为Android TV应用程序开发人员仍然很少,我很少能得到反馈!
-
是的,它令人兴奋的希望它在未来变得更高。关于这个问题,即使是默认搜索也与大多数项目的工作方式相同。我几乎无法通过语音获得结果。 (我的意思是在 nexus 播放器的主屏幕中搜索)
-
我明白了,我在主屏幕搜索或my project 中从未遇到过这种情况。也许它与硬件问题或环境问题(蓝牙干扰等)有关?
标签: android android-tv