Есть компонент EditText. Хочется по какому-нибудь жесту перевести клавиатуру в ввод голосом. Возможно ли такое?
Ответ
Вам нужно обработать ваш жест и вызвать внешний интент:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
теоретически его может и не быть в системе, так что сначала надо проверить его наличие
PackageManager pm = getPackageManager();
List
Если есть вызвать Activity распознавателя через startActivityForResult(intent, SPEECH_REQUEST) и в onActivityResult() полученные данные положить в EditText
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SPEECH_REQUEST && resultCode == RESULT_OK) {
//массив распознанных строк
ArrayList
}
super.onActivityResult(requestCode, resultCode, data);
}
Update
Собственно ответ на сам вопрос:
перевести клавиатуру в ввод голосом. Возможно ли такое?
Увы это невозможно. Нет такого INPUT_TYPE, каждая реализация клавиатуры реализует сама поддержку ввода голосом.
Комментариев нет:
Отправить комментарий