android读写文件权限管理
16lz
2022-07-30
//读写文件权限申请if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // 判断是否有这个权限,是返回PackageManager.PERMISSION_GRANTED,否则是PERMISSION_DENIED // 这里我们要给应用授权所以是!= PackageManager.PERMISSION_GRANTED if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { Log.i(TAG, "222222222222222222222222"); // 如果应用之前请求过此权限但用户拒绝了请求,且没有选择"不再提醒"选项 (后显示对话框解释为啥要这个权限),此方法将返回 true。 if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { Log.i(TAG, "3333333333333333333333333"); } else { Log.i(TAG, "88888888888888888888888"); // requestPermissions以标准对话框形式请求权限。123是识别码(任意设置的整型),用来识别权限。应用无法配置或更改此对话框。 //当应用请求权限时,系统将向用户显示一个对话框。当用户响应时,系统将调用应用的 onRequestPermissionsResult() 方法,向其传递用户响应。您的应用必须替换该方法,以了解是否已获得相应权限。回调会将您传递的相同请求代码传递给 requestPermissions()。 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100); } } Log.i(TAG, "5555555555555555555555555");} else { Log.i(TAG, "6666666666666666666666666");}
@Overridepublic void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 100: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //这里的两句语句是我写的创建文件的语句,在授权成功是时候会调用这里的语句。 // permission was granted, yay! Do the // contacts-related task you need to do. } else { // permission denied, boo! Disable the // functionality that depends on this permission. } return; } // other 'case' lines to check for other // permissions this app might request }}
//下面代码是在手机系统根目录上创建一个名为Camera的文件夹
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Camera/";具体代码:private void screenShot() { String picPath = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Camera/"; File file = new File(path); if (!file.exists()) { file.mkdirs(); } else { } picPath = path + System.currentTimeMillis() + ".png"; } Log.i(TAG, "截图路径 : " + picPath); //TODO:编写写入文件代码,}
更多相关文章
- Android中不同应用间实现SharedPreferences数据共享
- 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
- Android(安卓)- Manifest 文件 详解
- Android之应用程序基础
- Android四大组件的理解
- Android(安卓)给 app默认权限(不弹窗申请权限)
- Android官方入门文档[1]创建一个Android项目
- Andorid Dialog 示例【慢慢更新】
- 第三章 Android程序设计基础