gpt4 book ai didi

带有一些第 3 方语音识别器的 android.speech.RecognitionService SecurityException

转载 作者:太空宇宙 更新时间:2023-11-03 10:34:55 24 4
gpt4 key购买 nike

我们创建了一个使用 Google 语音识别器的 Android 应用程序,我们首先在程序中选择要使用的 Google 语音识别器。大多数设备工作正常,只有少数设备(MEIZU_M5、U78-E、Apollo Lite 等)报告以下异常。好像和联发科的语音命令有些冲突?我们发现 Mediatek 的其他一些设备工作正常。这令人困惑。

java.lang.SecurityException: Not allowed to bind to service Intent { act=android.speech.RecognitionService cmp=com.mediatek.voicecommand/.service.VoiceWakeupRecognitionService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1421)
at android.app.ContextImpl.bindService(ContextImpl.java:1385)
at android.content.ContextWrapper.bindService(ContextWrapper.java:604)
at android.speech.SpeechRecognizer.startListening(SpeechRecognizer.java:287)

追溯代码,源代码只显示到ContextWrapper.java。如何让它显示到ContextImpl.java:1421?

通过 firebase 日志,我们发现它发生在许多第 3 方语音识别器中:

com.mediatek.voicecommand
com.htc.android.voicedictation
com.vlingo.midas
com.iflytek.speechcloud
com.iflytek.speechsuite
...

我们还测试了其他一些运行良好的第 3 方语音识别器。那些导致异常的语音识别器是否只是用于系统语音命令而不是应用程序访问?

欢迎任何想法或经验。

最佳答案

最后我们从Android Developers中的一些资料找到了根源 Services overview :

但是,您可以在 list 文件中将服务声明为私有(private)并阻止来自其他应用程序的访问。

这些第 3 方 SpeechRecognizer 服务是私有(private)的,不能被其他应用程序调用。因此,我们只是 try catch 此异常并通知用户安装 Google App(语音输入)。或者您可以通过跳过它们来排除这些意外的 SpeechRecognizer。

关于带有一些第 3 方语音识别器的 android.speech.RecognitionService SecurityException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48019398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com