画面が多いダッシュボードアプリをやっています。ユーザーがそれに基づいて音声コマンドを伝えると、アクティビティを開く必要があります。どこから始めたらいいのかわからない すでにすべての画面を完了しており、音声検索を実装したいと考えています。私のアプリ画面は、アドバンス、休暇、募集、権限、通知などです。例: ユーザーが「アドバンス」と言うと、アドバンス画面を開く必要があります。私を助けてください。
質問する
2699 次
1 に答える
3
1) 音声認識インテントを開始する
2) 返されたデータを onActivityResult() で処理して、開始するアクティビティを決定します
1. 音声認識インテントを開始する
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Choose Activity");
startActivityForResult(intent, REQUEST_SPEECH);
2. 返されたデータを処理する
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_SPEECH){
if (resultCode == RESULT_OK){
ArrayList<String> matches = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
if (matches.size() == 0) {
// didn't hear anything
} else {
String mostLikelyThingHeard = matches.get(0);
// toUpperCase() used to make string comparison equal
if(mostLikelyThingHeard.toUpperCase().equals("ADVANCES")){
startActivity(new Intent(this, Advances.class));
} else if() {
}
}
}
}
super.onActivityResult(requestCode, resultCode, data);
}
于 2013-01-21T06:01:12.840 に答える