如何在Android图库中删除我的应用拍摄的所有照片?

时间:2012-08-13 09:41:03

标签: android android-gallery

我正在寻找一种干净简单的方法来删除我的应用在公共图库中放置的所有图片。

我尝试了这个,但是它没有用,当它进入正确的目录:

File dir =
  Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
    File[] files = dir.listFiles();
    if (files != null){
    for (File file : files) {
        deleteRecursively(file);
    }
}

我需要获得许可吗?为什么我不能删除我在应用程序中创建的文件?

这是deleteRecursively方法:

void deleteRecursively(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory()){
        for (File child : fileOrDirectory.listFiles()){
            deleteRecursively(child);
        }
    }
    fileOrDirectory.delete();
}

2 个答案:

答案 0 :(得分:1)

尝试将deleteRecursively()方法更改为:

void deleteRecursively(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory()){
        for (File child : fileOrDirectory.listFiles()){
            deleteRecursively(child);
        }
    } else {
        fileOrDirectory.delete();
    }
}

答案 1 :(得分:0)

您必须在清单文件android.permission.WRITE_EXTERNAL_STORAGE"

中添加使用权限