Я новичок в Android, и поскольку Environment.getExternalStorageDirectory () устарела, мне интересно, как создать папку на моей внешней SD? Мой манифест правильный и имеет разрешение на чтение / запись ie. вот мой код:
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
File path = new File(Environment.getExternalStorageDirectory().getPath());
String myFolder = "/Vault/";
File f = new File(path, myFolder);
if(item.getItemId()==(R.id.AddNew)){
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Create New Album");
alert.setMessage("Enter Your Album Name");
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = String.valueOf(input.getText());
// Do something with value!
File file= new File(path+File.separator+value);
try{
if(!file.exists())
{
if(file.mkdirs())
{
Toast.makeText(Album.this,"Folder Album Created Successfully",Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(Album.this,"Not Created",Toast.LENGTH_LONG).show();
}
}
else if(file.exists()){
Toast.makeText(Album.this,"Folder Exists",Toast.LENGTH_SHORT).show();
}
}
catch (NullPointerException e) {
// Unable to create file, likely because external storage is
// not currently mounted.
Log.w("ExternalStorage", "Error writing " + file, e);
}
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
Этот код не создает папку. Все, что я хочу сделать, это создать папки в SD / Vault /.