Android 6.0动态权限的获取
来源:互联网 发布:有趣的标语 知乎 编辑:程序博客网 时间:2024/06/05 21:01
Android6.0的权限分为普通权限和危险权限,其中普通权限还是可以和以前一样,通过在AndroidManifest.xml中赋予,比如:
<uses-permission android:name="android.permission.INTERNET"/>
所以我们重点说一下危险权限,危险权限包括这些:
你在使用的时候就可以看看,是不是用到了上述的这些权限,如果用到了,记得要动态赋予权限,不然就算在AndroidManifest.xml中声明了也没有用。 好了接下来说说,怎么动态获取权限,我用android.permission.WRITE_EXTERNAL_STORAGE来举个例子。
步骤
- 判断是不是M版本
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
- 如果是M版本,就检查是否拥有我需要的权限
ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED
- 如果没有请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},WRITE_EXTERNAL_STORAGE_REQUEST_CODE);
- 请求权限后,将会回调onRequestPermissionsResult
代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { //获取权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, WRITE_EXTERNAL_STORAGE_REQUEST_CODE); } else { init(); } }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); doNext(requestCode, grantResults); } private void doNext(int requestCode, int[] grantResults) { if (requestCode == WRITE_EXTERNAL_STORAGE_REQUEST_CODE) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Permission Granted init(); } else { // Permission Denied } } }
0 0
- Android 6.0动态权限的获取
- android 6.0 动态权限获取
- Android 6.0获取动态权限
- android 6.0权限动态获取
- Android 6.0权限动态获取
- Android动态获取权限
- Android 动态获取权限
- Android动态获取权限
- android 动态权限获取
- Android动态获取权限
- 对android 6.0 动态获取权限框架 PermissionDispatcher 的使用
- android 6.0 动态获取权限框架 PermissionDispatcher 的使用
- Android应用权限的动态获取
- Android新特性 - 6.0动态获取权限
- Android 6.0以上系统动态获取权限
- Android 动态获取权限(6.0 , 7.0)
- android 6.0 权限动态获取示例
- android 6.0 7.0动态获取权限
- Caffe学习系列(8):solver优化方法
- 有关“非计算机专业如何转行做程序员”的一点思考
- 字符串反序再练
- 增强循环 举例
- ios SDK开发之关于CoreAnimation的一些注意点总结
- Android 6.0动态权限的获取
- sea.js和require.js学习网址
- 一个计算机专业毕业生工作5年后的困惑
- Caffe学习系列(9):运行caffe自带的两个简单例子
- 关键字const的扩展
- 一头扎进算法导论-归并排序
- hdu 5890 dp+bitset+输入挂
- python字符串连接的三种方法及其效率、适用场景详解
- 网页验证码