有没有办法在通话时运行 SpeechRecognizer?我是这样做的:
BroadcastReceiver
处理电话状态的变化(例如摘机)。- 在
SpeechRecognizer
当前(主)线程中启动,因为它只能在主线程中启动。应用程序上下文用于识别器(当前上下文,给广播接收器,不能开始使用)
但不幸的是,另一边的人听不到我的声音(虽然语音识别工作正常)。在外面,识别器已经“消耗”了我的声音并且没有发送它。
我知道在调用期间在主线程中做事是危险的,但是有没有办法在调用期间以某种方式运行识别器?
更新:我正在尝试TelephonyManager
侦听器而不是 a BroadcastReceiver
,但是一些内部服务与 NPE 相冲突。