-1

Я хочу использовать startActivityForResult для запуска RecognizerIntent в Android, но без диалогового окна, чтобы в основном сохранить пользовательский интерфейс спереди, с которого запускается действие (фон с «сеансом» на скриншоте ниже).Диалог RecognizerIntent в фоновом режиме

Когда я использую startActivityForResult(audioIntent,1) начать свое распознавание речи в Android, диалог из RecognizerIntent показывает вверх, как на скриншоте ниже:

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
         RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); 
if (!intent.hasExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE)) 
{ 
    intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, 
      "com.dummy"); 
} 
startActivityForResult(intent,1); 

Я знаю, что я мог бы использовать SpeechRecognizer класс, который не имеет диалог, но у него нет всех возможностей, которые мне нужны. Есть ли способ использовать RecognizerIntent startActivityForResult без видимого диалога? Все другие подобные вопросы на SO используют SpeechRecognizer, чего я хочу избежать.

enter image description here

+2

* Есть ли способ использовать startActivityForResult без всплывающего окна? * Если * без всплывающего окна * вы имеете в виду без отображения Activity, то obviosuly: ** no ** – Selvin

+0

Я имею в виду оверлей, в котором говорится «Говорите сейчас», есть ли способ отключить это? –

+0

Возможный дубликат [Как использовать распознавание речи без раздражающего диалога на телефонах Android) (http://stackoverflow.com/questions/6316937/how-can-i-use-speech-recognition-without-the-annoying- dialog-in-android-phones) –

ответ

1

startActivityForResult(audioIntent,1) Если не имеет опции, чтобы отключить всплывающие окна, нет. Это деятельность, которую кто-то написал. Как вы этого хотите, вам нужно будет написать свою собственную деятельность с помощью (возможно) распознавания речи Google, подключенного к ней. Удачи & получайте удовольствие!

+0

Итак, вы имеете в виду, что RecognizerIntent необходимо перезаписать? –

+2

Нет, вы начинаете деятельность, которую вы не пишете, поэтому, вероятно, нет исходного кода. Вы хотите начать работу, которая делает именно то, что вы хотите. Единственный способ написать - это вы сами. Если вы не можете найти что-то, что можно использовать повторно. – Flummox

+0

Есть ли другой способ начать работу, которая уже реализована, но без пользовательского интерфейса, например, встраивание ее в Сервис или подобное? –