如果你在开发的过程中遇到在Manifest中设置了权限当时却无效的时候。这个博客很适合你
先说说问啥出现这个问题
从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访问权限,而不提供设备位置的访问权限。用户可以随时进入应用的“Settings”界面调用权限。
如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更低版本,则系统会在安装时要求用户授予权限。再次强调,系统只告诉用户应用需要的权限组,而不告知具体权限。所以如果不想动态获取权限的话,可以设置 targetSdkVersion 小于23即可
所以当出现这个问题的时候有两个解决方案
- 进行动态请求权限 如果你不知道怎么动态请求权限可以看我的另一篇博客
- 设置Module的build.gradle中的targetSdkVersion 为小于23的然后同步一下即可