我想在用户按下按钮时启动Google Now语音搜索。然而,我在文档中找不到启动搜索的Intent。
有没有人知道如何启动Google Now语音搜索的活动?
我想在用户按下按钮时启动Google Now语音搜索。然而,我在文档中找不到启动搜索的Intent。
有没有人知道如何启动Google Now语音搜索的活动?
/* Call Activity for Voice Input */
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
try {
startActivityForResult(intent, 1);
} catch (ActivityNotFoundException a) {
Toast.makeText(context, "Oops! Your device doesn't support Speech to Text",Toast.LENGTH_SHORT).show();
}
(我用它来设置搜索视图中的文本,并搜索该值)
/* When Mic activity close */
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1: {
if (resultCode == Activity.RESULT_OK && null != data) {
String yourResult = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).get(0);
}
break;
}
}
}
private static final int RECOGNIZER_REQ_CODE = 1234;
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
startActivityForResult(intent, RECOGNIZER_REQ_CODE);
请注意,您必须使用startActivityForResult()
而不是startActivity()
,因为后者不受支持。有关详细信息,请参阅上面链接的文档。
onActivityResult()
中处理结果。 - ozbekstartActivityForResult()
也已经被弃用了。 - Reza Saadatiandroid.intent.action.VOICE_ASSIST
来启动一个Activity,然后Google Now语音识别器会弹出。您可以尝试使用开发者工具进行此操作:adb shell am start -a android.intent.action.VOICE_ASSIST
Intent googleNowIntent = new Intent("android.intent.action.VOICE_ASSIST");
startActivity(googleNowIntent);
- rob