Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to start Google Assistant programmatically?

I have tried every simple combo I have found but not sure how to do this. I even tried to simulate the home long press but you get google now voice, lookint at logcat it shows this

com.google.android.googlequicksearchbox/com.google.android.apps.gsa.staticplugins.opa.OpaActivity

but not sure if this is what I am looking for or how to replicate it.

like image 984
Chop Labalagun Avatar asked Nov 20 '16 20:11

Chop Labalagun


2 Answers

This works:

startActivity(new Intent(Intent.ACTION_VOICE_COMMAND).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
like image 84
yausername Avatar answered Oct 13 '22 03:10

yausername


So I've been trying to do the same thing, and just discovered something when I'm trying to launch the Assistant with an Intent like this:

Intent launchIntent = new Intent(Intent.ACTION_VIEW);
        launchIntent.setPackage("com.google.android.googlequicksearchbox");
        launchIntent.setClassName("com.google.android.googlequicksearchbox", "com.google.android.apps.gsa.staticplugins.opa.OpaActivity");
startActivity(launchIntent);

Although this doesn't throw an ActivityNotFoundException, it does throw a Permission Denial. This is shown to happen because Google Assistant must be launched from the googlequicksearchbox package from above. Hopefully this will change when/if they release an API for it. Fingers crossed.

like image 23
Brady Boettcher Avatar answered Oct 13 '22 03:10

Brady Boettcher