我正在使用此代码段来激活Android上的语音命令。
Intent newIntent = new Intent(Intent.ACTION_VOICE_COMMAND);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().sendBroadcast(newIntent);
它没有做任何事情,甚至在我的日志猫中都没有错误:
06-03 13:26:24.325 203-822/? D/audio_hw_primary: out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
06-03 13:26:24.335 203-822/? D/audio_hw_primary: select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
06-03 13:26:24.335 203-822/? D/msm8974_platform: platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15)
06-03 13:26:24.335 203-822/? D/audio_hw_primary: enable_snd_device: snd_device(2: speaker)
06-03 13:26:24.338 203-822/? D/audio_hw_primary: enable_audio_route: apply and update mixer path: low-latency-playback
--------- beginning of system
06-03 13:26:26.277 786-892/? D/ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 100]
06-03 13:26:27.551 203-822/? D/audio_hw_primary: disable_audio_route: reset and update mixer path: low-latency-playback
disable_snd_device: snd_device(2: speaker)
当我在亚行执行此操作时,它会带来谷歌助理:
adb shell am start -a android.intent.action.VOICE_COMMAND
这很奇怪,从技术上讲,它是完全相同的。 是否有我失踪的许可或什么?
答案 0 :(得分:4)
活动操作:启动语音命令。
因此,要调出语音命令助手活动,请使用startActivity
作为
getApplicationContext().startActivity(newIntent);
而不是
getApplicationContext().sendBroadcast(newIntent);
像
Intent newIntent = new Intent(Intent.ACTION_VOICE_COMMAND);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(newIntent);
// ^^^^^^^^^^^^
有没有办法让用户界面不出现并覆盖我的用户界面?或至少 谷歌助理在听完并采取行动后离开了 语音命令?
您可以使用Google Assistant Service sdk,这是android quick start guide