【发布时间】:2021-04-15 14:16:42
【问题描述】:
我在Service中使用了SpeechRecognizer,它只在我第一次调用speechRecognizer.startListening()时工作,然后它出现代码9的错误(权限不足)。
如果在 Activity 中,它工作得很好。
我的应用中的权限:
<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" />
识别器意图
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)
}
}
请帮帮我。
提前致谢。
【问题讨论】:
-
请帮帮我!
-
试试这里提到的解决方案是否有效:stackoverflow.com/a/68210262/10657559
标签: android android-service speech-recognition