I need to give users a method to launch their phone's voice assistant from my app, be it Google Now or anything else.
When searching on how to do this I keep finding explanations on how to get voice input while I just want to launch Google Now in "listening" mode. This question clearly asks for the same thing but the accepted answer explains how to open voice input:
How to programmatically initiate a Google Now voice search?
I know this can't be a rare case, how can it be done?
startActivity(new Intent(Intent.ACTION_VOICE_COMMAND).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
worked for me and seems more intuitive.
It is not very clear what exactly you are trying to achieve, but I hope following will be helpful.
The code given at How to programmatically initiate a Google Now voice search? will launch the default speech recognizer (or "voice assistant" as you have put it).
Following, however, will explicitly open (if available) Google's speech recognizer:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.google.android.googlequicksearchbox",
"com.google.android.googlequicksearchbox.VoiceSearchActivity");
try {
startActivity(intent);
} catch (ActivityNotFoundException anfe) {
Log.d(TAG, "Google Voice Search is not found");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With