app使用过程中经常需要检测权限是否授权,没打开就跳转到对应权限页面设置~
安卓系统是提供了api,但是如果开发 target低于26,获取权限方法会一直返回false ,而且有时候我们使用了第三方的库target又有限制?,这时候就坑爹了~。
我这边也发生了这个问题,比如获取安装权限,canRequestPackageInstalls如果target不大于25一直返回false。
处理方式: 启动检测时加个时间戳,在生命周期onResume那里判断时间差是否小于1秒,如果是小于一秒表示没权限。
installApk(Activity act){
//安装跳转参数
...
//安装跳转如果没权限也会跳转过去,然后直接跳回来的
installTime = System.currentTimeMillis();
}
在activity的生命周期
onResume里面检测一下时间差
if(installTime-System.currentTimeMillis()<1000){
//表面没权限
}