因为排查起来还是比较麻烦的
由于项目中接入了sdk,bugly,xx日志插件等等,所以不知道是哪个触发了访问权限。
最终在一个一个去除之后,发现还是在开始启动的时候,弹出了读写访问权限。
而且我的空包是没有弹出这个弹框的,而且unity的读写persistence目录下的文件,也是不会触发读写权限访问框的。
最后在咨询了xx中台,才解决问题。
原因是,在https://www.cnblogs.com/msxh/p/10889484.html
Unity会默认地对一些敏感权限在APP启动的时候一股脑地一起申请,那些普通的权限则会直接放行。但是在游戏启动的时候一下就申请了4-5项暂时可能用不到的权限,这个操作对用户来说是不友好的。比如我只想在游戏启动的时候申请一个存储的权限,而语音、定位那些权限我只想在游戏中需要的时候再进行二次确认怎么办?也就是希望将动态权限的申请进行延迟处理。
那我们可以通过下面的这个配置,关闭APP启动的时候就默认申请敏感权限的行为,配置这个不影响通过代码去动态申请权限的,只是去掉了一开始申请,只需要在Manifest中中添加下面这行声明就可以了:
加上这句话之后,会默认隐藏初始的读写权限访问申请框了,后面再动态申请是不会影响弹框的。