记录一次Android权限窗口不显示的问题
在实际的Android 开发中,我们一般会在MainActivity的onCreate中统一申请app运行时权限,比如定位,相机等权限。
在最近的一次测试中,测试反应某个页面的定位没有获取到实际的定位,继续询问测试人员才知道他在打开app的时候竟然没有看到过权限弹窗。
最后经过调试,发现是MainActivity启动了两次,也就是说MainActivity经过了onCreate()-申请权限- onResume()-出现弹窗 - onPause -窗口消失-onResume2()的路径过程,窗口不是没有显示而是显示后又消失了。
根据这次的教训,个人总结了一下权限申请的一些经验
1、尽量不要统一申请(统一申请用户不给的几率很大,而且一些常见的升级窗口、活动窗口等都可能会对权限申请有影响)
2、在需要使用的地方一定要做权限申请或者检测,防止没有权限报错
3、现在使用第三方框架申请权限的很多,请一定仔细测试方法的回调,不要想当然的认为是 失败或者成功二选一,
比如AddPermission就是成功和失败都会回调,失败或者成功需要自己依据回调的参数判断