我试图通过以下示例从android设备获得支持的语音识别语言列表,这些语言可用于语音识别
长话短说,代码可以工作(不是在所有或大多数设备上),但是在某个设备上崩溃,并且出现nullpointerexception,无法调用receiverpermission==null上的虚拟方法。奇怪的是,如果我将receiverpermission改为空字符串而不是null,它不会崩溃,但也不会返回任何支持的语言。
文档(developer.android.com)说这个字段可以为空,但显然不是因为它使一些设备崩溃(例如,在我的moto e android 8.1上崩溃,但在三星s9+android 10上运行良好)
string:一个字符串,用于命名接收者必须持有的权限,以便接收您的广播。如果为空,则不需要权限。此值可能为空。
val detailsIntent = RecognizerIntent.getVoiceDetailsIntent(this)
val receiverPermission = null // this is the source of the problem
this.sendOrderedBroadcast(detailsIntent,receiverPermission,LanguageDetailsChecker(),null,Activity.RESULT_OK,null,null)
任何解决这个问题的建议或建议都将不胜感激。谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!