Android 6.0 或 sdk 23 及以上 权限的申请
概述
工作之余简单研究一下权限申请,Google在 Android 6.0 (SDK 23)开始引入了权限申请机制,将所有权限划分为正常权限和危险权限。在开发过程中应用涉及到安全权限时需要申请权限,否侧App在运行时会出现问题。
权限申请主要有一下几个重要的方法
- ContextCompat.checkSelfPermission 检查是否有权限的方法,有权限时返回PackageManager.PERMISSION_GRANTED,否则返回PackageManager.PERMISSION_DENIED。
- ActivityCompat.requestPermissions 请求权限的方法,调用后会弹出一个窗口提示用户授权。
- onRequestPermissionsResult 此方法作用于用户对弹窗操作后的一个回调,开发者可以再此做对应场景的处理动作。
示例
- 根据自己的需要在清单文件(AndroidManifest.xml)里添加需要的权限(注意:应用所需的权限必须添加到清单文件中)。
2.将需要申请的权限放在一个集合里,封装一个检查权限的方法。
//需请求的权限 此处只是作为一个示例,请求多个权限的操作,实际操作中打电话不需要 READ_EXTERNAL_STORAGE 权限
var permissions = arrayListOf(Manifest.permission.CALL_PHONE,Manifest.permission.</