我已经阅读了 Android Oreo 的行为和更改的文档。
我知道为 Android Oreo (API 26) 创建文件目录有不同的过程
Code :
File mediaStorageDir = null;
if (Build.VERSION.SDK_INT >= 26) {
mediaStorageDir = new File(Environment.getExternalStorageDirectory().toString(), "MyDirectory");
Log.v("HEREEEEE","YES");
} else {
mediaStorageDir = new File(Environment.getExternalStorageDirectory().toString()
+ File.separator + "MyDirectory");
}
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Toast.makeText(RecordVideoActivity.this, "Failed to create directory MyDirectory.",
Toast.LENGTH_LONG).show();
return null;
}
}
但每次我举杯时无法创建目录 MyDirectory。我能够Log.v("HEREEEEE","YES");
也但不知道它没有创建目录。
高级帮助将不胜感激。!
发布 Lollipop 需要征求许可,你可以在这篇文章中寻找答案here https://stackoverflow.com/a/33162451/5164673
public boolean isStoragePermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
Log.v(TAG,"Permission is granted");
return true;
} else {
Log.v(TAG,"Permission is revoked");
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
return false;
}
}
else { //permission is automatically granted on sdk<23 upon installation
Log.v(TAG,"Permission is granted");
return true;
}
}
权限结果回调:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
Log.v(TAG,"Permission: "+permissions[0]+ "was "+grantResults[0]);
//Create your Directory here
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)