-1

アプリがパブリック ギャラリーに配置したすべての画像を削除するためのクリーンでシンプルな方法を探しています。

私はこれを試しましたが、正しいディレクトリに移動している間は機能しません:

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();
}
4

2 に答える 2

1

deleteRecursively()メソッドを次のように変更してみてください。

void deleteRecursively(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory()){
        for (File child : fileOrDirectory.listFiles()){
            deleteRecursively(child);
        }
    } else {
        fileOrDirectory.delete();
    }
}
于 2012-08-13T09:56:46.267 に答える
0

マニフェスト ファイルに uses 権限を追加する必要がありますandroid.permission.WRITE_EXTERNAL_STORAGE"

于 2012-08-13T09:44:45.657 に答える