android - Google Glass Enterprise Edition 2 RecognitionService startListening 出现意外错误
问题描述
VoiceRecognitionSample 的示例代码正在使用 RecognizerIntent,它正在启动/工作正常。但是当我尝试使用 RecognitionService,然后执行 .startListening() 时,我收到一个奇怪的错误消息:
W: Permission Denial: Accessing service ComponentInfo{ com.google.android.libraries.assistant.soda.recognitionservice/com.google.android.libraries.assistant.soda.recognitionservice.SodaRecognitionService} from pid=5150, uid=10076 requires com.google.android.libraries.assistant.soda.recognitionservice.USE_SPEECH
E: java.lang.SecurityException: Not allowed to bind to service Intent { act=android.speech.RecognitionService cmp=com.google.android.libraries.assistant.soda.recognitionservice/.SodaRecognitionService }
完整的错误堆栈:
07-05 16:49:27.534 1173 3713 W ActivityManager:权限拒绝:访问服务 ComponentInfo{com.google.android.libraries.assistant.soda.recognitionservice/com.google.android.libraries.assistant.soda.recognitionservice.SodaRecognitionService}从 pid=6729,uid=10072 需要 com.google.android.libraries.assistant.soda.recognitionservice.USE_SPEECH 07-05 16:49:27.538 6729 6729 E InputEventReceiver:异常调度输入事件。07-05 16:49:27.538 6729 6729 E MessageQueue-JNI:MessageQueue 回调中的异常:handleReceiveCallback 07-05 16:49:27.553 6729 6729 E MessageQueue-JNI:java.lang.SecurityException:不允许绑定到服务 Intent { act=android.speech.RecognitionService cmp=com.google.android.libraries.assistant.soda.recognitionservice/.SodaRecognitionService } 07-05 16:49:27.553 6729 6729 E MessageQueue-JNI:
我注意到谷歌语音输入(在设置->语言->虚拟键盘中)发生了一些事情,因为它无法打开并显示配置,所以它可能缺少一些能够工作的库,但也许我'我只是在我的清单中缺少一些许可。我找不到与SodaRecognitionService和/或需要 com.google.android.libraries.assistant.soda.recognitionservice.USE_SPEECH权限相关的任何内容。
(我使用的是谷歌玻璃企业版 2,最新图像 OPM1.200313.001)相同的代码在 android 8.1 的手机中运行良好,这是玻璃特有的。
任何线索/想法?谢谢!!
解决方案
在深入研究 Google Glass EE2 文档时,我发现了这个
不允许绑定到 SpeechRecognizer 服务,因此 SpeechRecognizer#startListening() 方法将不起作用。
资料来源:Google Glass EE2 - 输入和传感器
我在我的 Google Glass Enterprise Edition 2 上运行系统映像版本 OPM1.200625.001,上面的引用仍然正确。
使语音识别本机工作的唯一方法是我链接的文档页面中解释的方法,下面有一个片段可以让您更好地理解我指的是页面的哪个部分
- 使用 ACTION_RECOGNIZE_SPEECH 意图调用 startActivityForResult()。启动活动时支持以下意图附加功能:...
推荐阅读
- android - Firebase Firestore 未连接
- python - XOAUTH2 Django 中的无效 SASL 参数
- ruby-on-rails - 如何使用动态绑定编写 Rails ActiveRecord 更新查询?
- asp.net-mvc - 如何使用来自 ASP.NET MVC 视图的@Input 将 JSON 数组传递给 Angular2 模板?
- angularjs - 来自服务的Angularjs绑定值
- python - Keras LSTM 输入 - ValueError:检查输入时出错:预期 input_1 具有 3 个维度,但得到的数组具有形状 (1745, 1)
- python - Python pandas 设置 NaN 值失败
- tomcat7 - Ubuntu VM CPU 过载
- arrays - 是否可以在 PowerShell 中使 IndexOf 不区分大小写?
- filter - Ansible: Use filter as conditional in playbook for role-inclusion