Android TV SearchFragment 错误 SpeechRecognizer
Posted
技术标签:
【中文标题】Android TV SearchFragment 错误 SpeechRecognizer【英文标题】:Android TV SearchFragment Error SpeechRecognizer 【发布时间】:2018-07-12 14:30:02 【问题描述】:实际上,我是 Leanback 的新手,我正在搜索部分工作并实现 SearchFragment。我在错误日志消息上遇到了这个问题(在设备上运行,但在 android 虚拟设备上工作):
Caused by: java.lang.IllegalArgumentException: Service not registered: android.speech.SpeechRecognizer$Connection@f545b3e
如果有人知道,请更新。谢谢。
【问题讨论】:
可能与缺少识别提供者有关吗? ***.com/q/37856993/1256219 @Tomero:我也和你一样的错误。你解决问题了吗? 我没有得到任何解决方案,我还在等待:'( 我也崩溃了:super.onPause(); => mSpeechRecognizer.destroy(); 你也看过这个:***.com/a/46701736/1759443 【参考方案1】:它可能不再相关,但我自己做了类似的事情:
override fun onResume()
super.onResume()
try
if (!Utils.isATV(requireContext()))
val mSpeechRecognizerField: Field = SearchSupportFragment::class.java.getDeclaredField("mSpeechRecognizer")
mSpeechRecognizerField.isAccessible = true
mSpeechRecognizerField.set(this, null)
catch (e: Exception)
Log.e("", "Method not found")
条件和检查可由您自行决定。我在 Google 的 AndroidTV (leanback) 上有语音搜索功能,但在其他设备上它已关闭。
您可以检查系统中是否存在服务本身。
【讨论】:
以上是关于Android TV SearchFragment 错误 SpeechRecognizer的主要内容,如果未能解决你的问题,请参考以下文章
尝试提交查询时 Android TV SearchFragment 崩溃(NPE)