1

私はビデオダウンローダーアプリを作成しています。アプリによってダウンロードされたファイルを外部ストレージに保存および削除することは問題ありませんが、コンピューターから転送されたファイルはアプリによって削除できません。

これは、私が望む重要な機能の 1 つであるため、実際の問題です。私が使用しているコードは次のとおりです。

public boolean deleteDataFromStorage(Data toDelete) {

    //The file object soon to be deleted
    File f = null;

    Log.e(TAG, "Deleting " + toDelete.fileName);

    // Delete file from storage
    try {

        // Get file to delete
        f = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + DIRECTORY + toDelete.fileName);

    } catch (IOException e) {

        Log.e(TAG, e.toString());

        // Print to stack trace
        e.printStackTrace();
    }

    // Delete file
    if(f.delete()) {
        return true;
    } else {

        Log.e(TAG, "Failed to delete " + toDelete.fileName);
        return false;
    }
}

f.delete()関数は例外をスローしないため、何が問題なのかわかりません。私が考えることができる唯一のことは、アプリにはWindowsで作成されたファイルを削除する権限がないにもかかわらず、転送されたファイルを削除しても問題のないアプリをアプリストアからダウンロードしたことです。

どんな助けでも大歓迎です。

4

1 に答える 1