java—当某些设备上的receiverpermission=null时,用于语音识别的可用语言崩溃

z2acfund  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(201)

我试图通过以下示例从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)

任何解决这个问题的建议或建议都将不胜感激。谢谢您!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题