首页 > 解决方案 > 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 的手机中运行良好,这是玻璃特有的。

任何线索/想法?谢谢!!

标签: androidgoogle-glass

解决方案


在深入研究 Google Glass EE2 文档时,我发现了这个

不允许绑定到 SpeechRecognizer 服务,因此 SpeechRecognizer#startListening() 方法将不起作用。

资料来源:Google Glass EE2 - 输入和传感器

我在我的 Google Glass Enterprise Edition 2 上运行系统映像版本 OPM1.200625.001,上面的引用仍然正确。

使语音识别本机工作的唯一方法是我链接的文档页面中解释的方法,下面有一个片段可以让您更好地理解我指的是页面的哪个部分

  1. 使用 ACTION_RECOGNIZE_SPEECH 意图调用 startActivityForResult()。启动活动时支持以下意图附加功能:...

推荐阅读