private void saveImage(Bitmap imageBitmap, String imagePath) { File storageDir = new File(imagePath); if (!storageDir.exists()) { Toast.makeText(this, "imagePath dosen't exist", Toast.LENGTH_SHORT).show(); return; } // Get permission if don't have if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2); return; } String imageName = "Avatar_user_" + person.getId() + ".jpg"; File file = new File(storageDir, imageName); if(file.exists()) file.delete(); try { FileOutputStream out = new FileOutputStream(file); imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); out.flush(); out.close(); Toast.makeText(this, file.toString(), Toast.LENGTH_SHORT).show(); } catch (Exception e) { Toast.makeText(this, "Save image failed", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } }