Я создал своего рода постоянной notification
, и моя цель состоит в том, как этоGoogle речи в текст от оповещении
1) Пользователь вводит на notification
2) Google Speech to Text activity
начинается и принимает голосовой ввод
3) Ввод преобразуется в текст и начинается новое действие, которое показывает этот текст.
Вот что я пытался так far--
NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this)
.setSmallIcon(android.R.drawable.ic_dialog_alert)
.setContentTitle("Tap for voice input")
.setContentText("Hi");
Intent resultIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
resultIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
resultIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
resultIntent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);
Notification notification = builder.build();
notification.flags = Notification.FLAG_NO_CLEAR;
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(MainActivity.this);
notificationManager.notify(0, notification);
Теперь я знаю, что я могу обрабатывать результаты распознаватель Intent
обычно с помощью startActivityForResult(resultIntent, REQ_CODE_SPEECH_INPUT);
и обработки его в моем activity
.
, но я должен передать свое намерение в pendingIntent
для notification
.
В любом случае я могу достичь этого?
Edit 1:
я могу начать новую деятельность, а затем открыть голос Google голосовые подсказки, но я хочу, преобразованную строку быть передана моей деятельности до ее начала, как с дополнительным параметром цель ...
Я думаю, что предоставленный ответ наиболее подходит для ваших нужд - в противном случае, если вы хотите получить более технический, вы можете использовать класс SpeechRecognizer для получения речевого ввода из службы, а затем передать параметры на Деятельность после его завершения. – brandall