ACTION_VOICE_COMMAND没有做任何事情

时间:2018-06-03 20:28:44

标签: android

我正在使用此代码段来激活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

这很奇怪,从技术上讲,它是完全相同的。 是否有我失踪的许可或什么?

1 个答案:

答案 0 :(得分:4)

From Docs

  

活动操作:启动语音命令。

因此,要调出语音命令助手活动,请使用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