Stop saving photos using Android native camera

后端 未结 5 1846
既然无缘
既然无缘 2020-11-29 03:27

I am using native Android camera and save file to my application data folder (/mnt/sdcard/Android/data/com.company.app/files/Pictures/). At the same time anther copy of phot

5条回答
  •  难免孤独
    2020-11-29 04:25

    A nice solution by Parth. But it's good for Samsungs that keep images in DCIM/Camera. Some phones - Sony Ericssons, HTCs keep them in folders like DCIM/100MEDIA, DCIM/100ANDRO so I have slightly modified the code:

     private boolean deleteLastFromDCIM() {
        boolean success = false;
        try {           
            //Samsungs:
            File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "DCIM/Camera");
            if(!folder.exists()){ //other phones:
                File[] subfolders = new File(Environment.getExternalStorageDirectory() + File.separator + "DCIM").listFiles();
                for(File subfolder : subfolders){
                    if(subfolder.getAbsolutePath().contains("100")){  
                        folder = subfolder;
                        break;
                    }
                }
                if(!folder.exists())
                    return false;
            }
    
            File[] images = folder.listFiles();
            File latestSavedImage = images[0];
            for (int i = 1; i < images.length; ++i) {
                if (images[i].lastModified() > latestSavedImage.lastModified()) {
                    latestSavedImage = images[i];
                }
            }            
            success = latestSavedImage.delete();
            return success;
        } catch (Exception e) {
            e.printStackTrace();
            return success;
        }
    
    }
    

提交回复
热议问题