I want to store Bitmap image in external storage but I am getting an error creating the file directory.
This is my code.
private void saveImage(Bitmap bitmap){
        String root = Environment.getExternalStorageDirectory().toString();
        File directory = new File(root + "/Wallpapers");
        boolean wasSuccessful = directory.mkdirs();
        if(!wasSuccessful){
            Toast.makeText(context, "Error Creating directory", Toast.LENGTH_SHORT).show();
        }
        Random generator = new Random();
        int n = 10000;
        n = generator.nextInt();
        String fname = "Wallpaper-"+n+".png";
        File file = new File(directory, fname);
        if (file.exists()){
            file.delete();
        }
        try {
            FileOutputStream out = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
            out.flush();
            out.close();
            Toast.makeText(context, "Wallpaper Saved Successfully", Toast.LENGTH_SHORT).show();
        }catch (Exception e){
            Toast.makeText(context, "Error Saving Wallpaper", Toast.LENGTH_SHORT).show();
            e.printStackTrace();
        }
    }
I already write the permission in android manifest.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
I've already tried out many solutions but it cannot resolved my issue.
 
     
    