Итак, я создал свою собственную пользовательскую клавиатуру, в настоящее время добавляя функцию преобразования текста в текст.
Использование класса SpeechRecognizer: https://developer.android.com/reference/android/speech/SpeechRecognizer
Я добавил разрешение <uses-permission android:name="android.permission.RECORD_AUDIO" />
в манифест, который используется более старыми устройствами.
Более новые устройства должны запрашивать такое разрешение на лету, прежде чем использовать его.
Если я запрашиваю разрешение «RECORD_AUDIO», все работает.
Если я не запрашиваю его, я получаю код ошибки «9», что означает «SpeechRecognition не будет работать, потому что разрешение не было предоставлено».
Имеет смысл.
Однако я установил виртуальную клавиатуру Googles Gboard и там, нажав на кнопку записи, он просто запускается, не спрашивая разрешения. ПОЧЕМУ?
Я также проверил настройки gboards, я не дал разрешения использовать микрофон, но он просто ... действительно использует его.