I using SpeechRecognizer in Service, it work only first time when I call speechRecognizer.startListening()
, and then it has an error with code 9 (insufficient permission).
If in Activity, it work well.
Permissions in my app:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
Recognizer Intent
private val intent by lazy {
Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).run {
putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM)
putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault())
putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, context.applicationContext.packageName)
}
}
Please help me.
Thanks in advance.