实际上我是Leanback的新手,我正在搜索部分工作并实现SearchFragment。我在错误日志消息上遇到此问题(在设备上运行时,但在android虚拟设备上运行):
Caused by: java.lang.IllegalArgumentException: Service not registered: android.speech.SpeechRecognizer$Connection@f545b3e
如果有人知道请更新。谢谢。
答案 0 :(得分:0)
它可能不再相关,但是我自己做了类似的事情:
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(后备倾斜)上进行语音搜索,但在其他设备上已将其关闭。
您可以检查系统中服务本身的存在。