Permission : writeExternalStorage
public boolean isStoragePermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED&&
checkSelfPermission(Manifest.permission.READ_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);
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
return false;
}
}
else { //permission is automatically granted on sdk<23 upon installation Log.v(TAG,"Permission is granted");
return true;
}
}
private void writeFileToSD() {
String sdStatus = Environment.getExternalStorageState();
if(!sdStatus.equals(Environment.MEDIA_MOUNTED)) {
Log.d("TestFile", "SD card is not avaiable/writeable right now.");
return;
}
try {
String pathName="/sdcard/test/"; String fileName="file.txt"; File path = new File(pathName); File file = new File(pathName + fileName); if( !path.exists()) {
Log.d("TestFile", "Create the path:" + pathName); path.mkdir(); }
if( !file.exists()) {
Log.d("TestFile", "Create the file:" + fileName); file.createNewFile(); }
FileOutputStream stream = new FileOutputStream(file); String s = "this is a test string writing to file."; byte[] buf = s.getBytes(); stream.write(buf); stream.close();
} catch(Exception e) {
Log.e("TestFile", "Error on writeFilToSD."); e.printStackTrace(); }
}
评论
发表评论