Функция File.delete () не работает в версии Android 4.2.2 - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь удалить снятые камерой изображения, используя приведенный ниже код, но изображения не удаляются. Я много пробовал, но все равно ничего не помогло, пожалуйста, кто-нибудь может помочь

код:

    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
      startActivityForResult(cameraIntent, Constants.CAMERA_REQUEST_CODE);

    private void onCaptureImageResult(Intent data) {
    File file = saveImage(this, data);
        if(file !=null){
         file .getCanonicalFile().delete();                
     }
  }


 public File saveImage(Context context, Intent data) {

        File mediaFile = null;
        try {
            Bitmap imgBitmap = (Bitmap) data.getExtras().get("data");
            File sd = Environment.getExternalStorageDirectory();
            File imageFolder = new File(sd.getAbsolutePath() + File.separator +
                    "FOSImages");
            if (!imageFolder.isDirectory()) {
                imageFolder.mkdirs();
            }
            mediaFile = new File(imageFolder + File.separator + "fos_" +
                    System.currentTimeMillis() + ".jpg");
            FileOutputStream fileOutputStream = new FileOutputStream(mediaFile);
            imgBitmap.compress(Bitmap.CompressFormat.JPEG, 90, fileOutputStream);
            fileOutputStream.close();
            return mediaFile;
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }
        return mediaFile;
    }

1 Ответ

0 голосов
/ 02 мая 2018

попробуйте это:

File file = saveImage(this, data);
file.delete();
if(file.exists()){
      file.getCanonicalFile().delete();
      if(file.exists()){
           getApplicationContext().deleteFile(file.getName());
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...