Android TV SearchFragment Error SpeechRecognizer

时间:2018-02-02 06:16:48

标签: android speech-recognition

实际上我是Leanback的新手,我正在搜索部分工作并实现SearchFragment。我在错误日志消息上遇到此问题(在设备上运行时,但在android虚拟设备上运行):

Caused by: java.lang.IllegalArgumentException: Service not registered: android.speech.SpeechRecognizer$Connection@f545b3e

如果有人知道请更新。谢谢。

1 个答案:

答案 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(后备倾斜)上进行语音搜索,但在其他设备上已将其关闭。

您可以检查系统中服务本身的存在。