Android 8.0系统以上手机启动白屏-因为权限问题的解决方案

同样的代码在8.0以下手机上运行无误,但是8.1以及9.0的用户反馈启动白屏。这就奇怪了,我首先断点调试没有发现问题,最后多打了几个断点发现在获取设备信息时抛异常了,断点卡在下面两行。

String device_type = android.os.Build.MODEL; // 手机型号
String release = android.os.Build.VERSION.RELEASE; // android系统版本号

首先,我查询6.0以上危险权限组中有READ_PHONE_STATE,确实出问题的代码中我没有动态授权,但是奇怪的是

CALL_PHONE是我动态给过的,显然并不是给一个就把整组权限都拿到了。

添加了READ_PHONE_STATE之后,经测试无误了。最终代码如下:

(1)实现接口 implements OnRequestPermissionsResultCallback

(2)授权

    private void checkPermissioin(){
        int checkStorage = ContextCompat.checkSelfPermission(LoginActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int checkCallPhone
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值