是因为Android系统引入了运行时权限的概念。在Android 6.0(API级别23)及以上的版本中,应用需要在运行时向用户请求权限,而不再是在安装时一次性授权。
这种变化是为了增强用户对应用权限的控制,提高用户的隐私保护。在应用运行时,如果应用需要使用某项权限,但用户尚未授权该权限,应用需要向用户解释为什么需要该权限,并请求用户授权。只有在用户授权后,应用才能使用该权限。
对于权限不起作用的问题,可能有以下几个原因和解决方法:
checkSelfPermission()
方法检查权限是否已授权,如果未授权,则使用requestPermissions()
方法请求权限。同时,需要处理用户授权结果,在onRequestPermissionsResult()
方法中处理用户的授权结果。总结起来,解决使用权限在构建的apk中不起作用的问题,需要在AndroidManifest.xml中正确声明权限,并在代码中请求运行时权限。同时,需要处理用户的授权结果,并确保设备或应用管理器未禁用所需权限。
领取专属 10元无门槛券
手把手带您无忧上云