Как программно переопределить голосовой поиск Google через Samsung на базе Vlingo?

На некоторых устройствах (например, Samsung Galaxy S3) предустановлено Samsung на базе Vlingo вместо Голосовой поиск Google.

В моем приложении я хотел бы программно переопределить, какой механизм распознавания речи использовать, чтобы мое приложение всегда использовало Google Voice Search.

Итак, мои вопросы:

  1. Есть ли способ узнать, какие механизмы распознавания речи установлены? (Если да, то как?)
  2. Есть ли способ узнать, какая система распознавания речи выбрана в пользовательских настройках? (Если да, то как?)
  3. Есть ли программный способ переопределить выбор пользователя, чтобы мое приложение всегда вызывало Google Voice Search? (если да, то как?)

Помощь будет оценена


person Eternal Learner    schedule 14.03.2013    source источник
comment
Похоже, не только я ищу решение. Этот безрезультатно. Но этот, похоже, удалось удалить как пользователь. Тем не менее, я предпочитаю программный способ достижения желаемого, не удаляя Samsung на базе Vlingo.   -  person Eternal Learner    schedule 14.03.2013
comment
Я не думаю, что ты сможешь это сделать. Решение Samsung уже программно перекрывает ваше: P   -  person slezica    schedule 14.03.2013


Ответы (1)


Ответ на все ваши вопросы - «да».

createSpeechRecognizer можно указать имя пакета распознавателя для использования. Поэтому, если вы знаете имя пакета, вы можете изменить значение по умолчанию.

Чтобы определить доступные службы, используйте:

List<ResolveInfo> services =
    getPackageManager().queryIntentServices(
        new Intent(RecognitionService.SERVICE_INTERFACE), 0);

Для получения дополнительных сведений изучите исходный код Babble. Я не знаю, лучший ли это способ сделать это (любые отзывы приветствуются), но на моих устройствах он сработал. (Babble в целом предполагает Android 4+, но часть распознавания речи может также работать и в более ранних версиях.)

person Kaarel    schedule 14.03.2013