android6.0动态获取权限
2016-10-20 10:32
447 查看
android6.0引入了新的权限系统,部分权限需要我们动态的获取。
如果不注意这个改变,会造成我们应用的部分功能无法使用,甚至crash。
目前有两种解决办法:
1.将app下的build.gradle中的targetSdkVersion改为22。
这种方法虽然能够临时解决权限问题,但是如果用户在选择权限的时候选择否,容易造成应用crash。
2.当我们需要使用动态获取权限的功能时,我们可通过如下方法拿到权限选择是或否的监听
下面是调用相册的一个例子:
最后附上学习android 6.0动态权限获取的文章
如果不注意这个改变,会造成我们应用的部分功能无法使用,甚至crash。
目前有两种解决办法:
1.将app下的build.gradle中的targetSdkVersion改为22。
这种方法虽然能够临时解决权限问题,但是如果用户在选择权限的时候选择否,容易造成应用crash。
2.当我们需要使用动态获取权限的功能时,我们可通过如下方法拿到权限选择是或否的监听
下面是调用相册的一个例子:
private static final int SELECTED_PREMMSION_STORAGE = 6; private void showAlbum() { if (Build.VERSION.SDK_INT >= 23) { int checkLocationPermission = ContextCompat.checkSelfPermission(ClawOnceActivity.this, Manifest.permission_group.STORAGE); if (checkLocationPermission != PackageManager.PERMISSION_GRANTED) { String[] mPermissionList = new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, }; ActivityCompat.requestPermissions(this, mPermissionList, SELECTED_PREMMSION_STORAGE); } else { showAlbumDirectly(); } } else { showAlbumDirectly(); } }
//显示相册的代码 private void showAlbumDirectly() { } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == SELECTED_PREMMSION_STORAGE && grantResults[0] == PackageManager.PERMISSION_GRANTED) { showAlbumDirectly(); } else { // Permission Denied Toast.makeText(ClawOnceActivity.this, R.string.storage_denied, Toast.LENGTH_SHORT) .show(); } }
最后附上学习android 6.0动态权限获取的文章
相关文章推荐
- 安卓Android6.0权限动态获取操作示例
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
- 关于Android6.0以上动态获取运行时权限、及无法正常运行百度地图API的问题
- Android6.0动态获取权限java.io.FileNotFoundException: …Permission denied
- Android6.0动态权限获取框架:RxPermission(基于RxJava2)
- Android6.0动态获取权限
- Android6.0动态获取权限
- 菜鸟笔记3.关于百度地图Android6.0以上权限动态获取,
- 【Android开发技巧】android6.0动态获取权限,运行时权限处理
- Android6.0动态获取权限
- android6.0以上版本动态获取权限
- android6.0动态获取权限
- Android6.0系统动态获取权限<一>
- Android6.0动态获取摄像头权限(举一反三)
- 动态一次获取多种android6.0以上的权限
- Android6.0(棉花糖)以上动态获取权限方法
- 百度地图SDK-Android6.0动态获取隐私权限
- Android6.0设备上动态获取权限
- 基于android6.0动态获取app功能权限
- 关于android6.0动态获取权限