android 6.0 内部SD卡权限管理的方法
来源:互联网 发布:淘宝中老年女冬装上衣 编辑:程序博客网 时间:2024/05/23 00:54
android 6.0以后,权限的管理方法就不仅局限于androidManifest.xml了,APK 如果需要权限,必须要在代码里实现权限的申请。
下面是实时查看权限的许可情况和实时撤销权限许可的命令(不用每次都去: 设置->应用->xxx应用->应用信息->权限->权限列表,修改权限的许可)的方法
- Use the adb tool to manage permissions from the command line:
- List permissions and status by group: 这个只是列出设备的所有的危险权限,并没有命令来显示某个应用的权限的许可情况(这点不好)
$ adb shell pm list permissions -d -g
- Grant or revoke one or more permissions:
$ adb shell pm [grant|revoke] <permission-name> ...
- List permissions and status by group: 这个只是列出设备的所有的危险权限,并没有命令来显示某个应用的权限的许可情况(这点不好)
- Analyze your app for services that use permissions.
group:android.permission-group.STORAGE
permission:android.permission.READ_EXTERNAL_STORAGE
permission:android.permission.WRITE_EXTERNAL_STORAGE
权限的申请判断代码如下:
/*** group:android.permission-group.STORAGE permission:android.permission.READ_EXTERNAL_STORAGE permission:android.permission.WRITE_EXTERNAL_STORAGE ***/ private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; private boolean verifyStoragePermissions(Activity activity) { if(Util.SDK_INT < 23) /*******below android 6.0*******/ { return true; } // Check if we have write permission int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { // We don't have permission so prompt the user ActivityCompat.requestPermissions(activity,PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); return false; } else { return true; } }
如果verifyStoragePermissions 返回时false,那么需要实现权限的申请处理,实现onRequestPermissionResult
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQUEST_EXTERNAL_STORAGE: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { /×××do request function(into apk)×××××/ } else { Toast.makeText(getApplicationContext(), "storage permission denied,it will exit apk", Toast.LENGTH_LONG).show(); /×××do request function(exitapk)×××××/ finish(); } } break; default: super.onRequestPermissionsResult(requestCode, permissions, grantResults); break; } } }
如果verifyStoragePermissions返回true则直接进入APK或Activity.
其他的应用可以参考如下链接:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1110/3670.html
http://www.jianshu.com/p/a51593817825
http://blog.csdn.net/lmj623565791/article/details/50709663
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1110/3670.html
http://blog.csdn.net/yangqingqo/article/details/48371123/
- android 6.0 内部SD卡权限管理的方法
- android SD卡权限
- android 读写sd卡的权限设置
- android访问SD卡的权限
- android 读写sd卡的权限设置
- android 读写sd卡的权限设置
- android 读写sd卡的权限设置
- Android模拟器 SD卡的权限详解
- android 读写sd卡的权限设置
- android 读写sd卡的权限设置
- android 读写sd卡的权限设置
- Android 6.0 SD卡权限申请
- Android -- 读写文件到内部ROM,SD卡,SharedPreferences,文件读写权限
- Android getWindow().setFlags方法与SD卡权限
- android 获取手机SD卡和手机的内部存储
- 关于Android 5.1限制外置SD卡写入权限的破解方法
- android 6.0sd卡内部存储 & 外部存储
- android写sd卡权限
- python学习日志2
- 51nod 1019 逆序数
- 网页前端优化之滚动延时加载图片示例
- java读取properties文件总结
- angular输入框内容复制、剪切、粘贴事件触发
- android 6.0 内部SD卡权限管理的方法
- STM32 FSMC总线深入研究
- 浏览器兼容性问题(WEB项目中页面)
- 2017校招互联网公司薪资大全 网上以及群里收集的信息,非个人意见
- 面向对象2
- Python正则表达式
- jsonArray遍历 取出数组中对象
- details和summary标签
- 11-12