动态权限申请步骤
1 检查权限
PackageManager.checkPermission()
ContextCompat.checkSelfPermission()
PermissionChecker.checkSelfPermission()
检查应用是否拥有该权限,被授权返回值为 PERMISSION_GRANTED,否则返回 PERMISSION_DENIED
2 请求权限
ActivityCompat.requestPermissions()
3 请求结果
AppCompatActivity.onRequestPermissionsResult()
该方法类似于 Activity
的 OnActivityResult()
的回调方法,主要接收请求授权的返回值
坑
1
Android M 运行
targetSdkVersion < 23
的应用时,调用ContextCompat#checkSelfPermission
,不管用户是否取消授权,checkSelfPermission
的返回值始终为PERMISSION_GRANTED
。可使用PermissionChecker#checkSelfPermission
检查动态权限。
https://my.oschina.net/u/990728/blog/549914