今天接手了一个新的项目,这个项目使用的二维码扫描不是zXin的是一个以前没接触过的华为的scanplus,但是该功能一打开就崩溃了看了下错误日志没有具体的信息,推测是底层崩了,后来在日志中发现了这样的日志
java.lang.SecurityException: getDataNetworkTypeForSubscriber
这个错误的意思是获取设备网络类型异常。
造成这个异常的原因是:在Android 11及其以上版本在获取设备网络类型时需要获取READ_PHONE_STATE权限,如果您的工程或者是第三方库没有声明READ_PHONE_STATE权限,由于该权限问题就会造成应用闪退,很奇怪为什么扫描二维码会触发这个权限。这个问题我在网上搜索了下回答很少,特此记录一下。我使用的sacnplus版本是1.1.3.301。