ユーザーがボタンを押したときにGoogle Now音声検索を開始したい。ただし、ドキュメントで検索を開始する意図が見つかりません。
Google Now音声検索のアクティビティを開始する方法を知っている人はいますか?
使用 _ACTION_RECOGNIZE_SPEECH
_ :
_private static final int RECOGNIZER_REQ_CODE = 1234;
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
startActivityForResult(intent, RECOGNIZER_REQ_CODE);
_
startActivityForResult()
はサポートされていないため、startActivity()
を使用する必要があることに注意してください。詳細については、上記のリンクされたドキュメントを参照してください。
/* 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;
}
}
}
アクションのみをAndroid.intent.action.VOICE_ASSIST
に設定してアクティビティを開始する必要があり、GoogleNow音声認識機能がポップアップします。開発ツールを使用してこれを試してください。
adb Shell am start -a Android.intent.action.VOICE_ASSIST