How To Show Up The Google Voice Recognition Settings In My App?
I am working on an android application in which i have implemented voice recognition and TTS. So i was thinking to launch settings screen for both google voice recognition and TTS
Solution 1:
The @brandall answer doesn't work at Android 5.1 for me such as another component name is used for the voice recognition settings there.
/**
* Open speech recognition settings activity
*
* @return true in case activity was launched, false otherwise
**/publicbooleanopenSpeechRecognitionSettings() {
Intentintent=newIntent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
booleanstarted=false;
ComponentName[] components = newComponentName[]{
newComponentName("com.google.android.googlequicksearchbox", "com.google.android.apps.gsa.settingsui.VoiceSearchPreferences"),
newComponentName("com.google.android.voicesearch", "com.google.android.voicesearch.VoiceSearchPreferences"),
newComponentName("com.google.android.googlequicksearchbox", "com.google.android.voicesearch.VoiceSearchPreferences"),
newComponentName("com.google.android.googlequicksearchbox", "com.google.android.apps.gsa.velvet.ui.settings.VoiceSearchPreferences")
};
for (ComponentName componentName : components) {
try {
intent.setComponent(componentName);
startActivity(intent);
started = true;
break;
} catch (final Exception e) {
Timber.e(e, null);
}
}
return started;
}
EDIT: updated with the latest component name
Solution 2:
I was stuck on this for ages too...
Intentintent=newIntent(Intent.ACTION_MAIN);
intent.setComponent(newComponentName("com.google.android.voicesearch","com.google.android.voicesearch.VoiceSearchPreferences"));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
Hope it does for you too...
EDIT: As pointed out in the comments, this changed in the Jelly Bean version of the Google Search App. To catch any potential update issues where you can't use Build.Version, you can use something along these lines:
try {
finalIntentvsInt=newIntent(Intent.ACTION_MAIN);
vsInt.setComponent(newComponentName("com.google.android.voicesearch",
"com.google.android.voicesearch.VoiceSearchPreferences"));
vsInt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(vsInt);
} catch (final Exception e) {
try {
finalIntentvsjInt=newIntent(Intent.ACTION_MAIN);
vsjInt.setComponent(newComponentName("com.google.android.googlequicksearchbox", "com.google.android.voicesearch.VoiceSearchPreferences"));
vsjInt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(vsjInt);
} catch (final Exception e1) {
e1.printStackTrace();
}
}
Post a Comment for "How To Show Up The Google Voice Recognition Settings In My App?"