Передайте дополнительные дополнения с RecognizerIntent
Я пытаюсь вызвать RecognizerIntent из моего приложения и вернуть результаты, связанные с определенным идентификатором. Я изо всех сил пытаюсь выяснить, как я могу передать свой идентификатор, чтобы он возвращался в дополнительных результатах.
Сначала я попробовал что-то вроде этого:
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);
К сожалению, дополнения, наложенные на это намерение, не включены в пакет, переданный onActivityResult
Просматривая документацию, есть поле 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);
К сожалению, это не работает. В настоящее время OnActivityResult всегда получает resultCode 0, а не -1 (т.е. RESULT_OK)
Может ли кто-нибудь указать мне на пример или помочь мне понять, что мне нужно сделать здесь, чтобы достичь цели установки идентификатора и получения его с результатами речи в текст?