Сначала я пробовал что-то вроде этого:
Код: Выделить всё
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
intent.putExtra(TasksDbAdapter.KEY_ROWID,taskId);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, RESULT_SPEECH);
Просматривая документацию, есть поле EXTRA_RESULTS_PENDINGINTENT_BUNDLE, которое позволяет вам делать то, что я хочу. Но я не смог понять, как правильно это реализовать.
Вот моя последняя попытка:
Код: Выделить всё
Intent pending = new Intent(v.getContext(),Main.class);
pending.putExtra(TasksDbAdapter.KEY_ROWID, itId);
PendingIntent pIntent = PendingIntent.getActivity(v.getContext(),RESULT_SPEECH,pending,0);
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT,pIntent);
intent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT_BUNDLE,pending.getExtras());
startActivityForResult(intent, RESULT_SPEECH);
Может ли кто-нибудь указать мне направление примера или помочь мне понять, что я нужно сделать здесь, чтобы достичь цели установки идентификатора и получения его обратно с результатами преобразования речи в текст?
Подробнее здесь: https://stackoverflow.com/questions/132 ... izerintent
Мобильная версия