2012-03-01 4 views
5

私は、アプリケーションのアンインストール中に外部フォルダが自動的に削除されるということを示すlinkを調べました。AndroidでアプリをアンインストールするときにSDCardからフォルダを削除するにはどうすればよいですか?

私は、フォルダやファイルを作成するには、次のコードを使用しています:

private static String TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory() + "/myAppFolder/"; 

私の問題は、私はアプリをアンインストールすると、フォルダmyAppFolderが削除取得されていないということです。

どこでも間違っていますか?

答えて

10

Appsのプライベートフォルダに保存します(/ data/data/yourappPackege)。このフォルダは、アプリケーションをアンインストールするときに削除されます。
は、あなたはそれが削除されているときに、あなたのアプリケーションは「知らない」ので その他のファイルを削除することはできません方法getFilesDir()であなたのプライベートフォルダを取得することができます。

+0

のためにこの作品は、私はそれを試してみましょう...あなたは非常に迅速な応答をありがとう...ラジ – Nik

+0

この作品は私がする必要がある唯一の事があるあなたに感謝見ます私はプログラムで..私は私のアプリが – Nik

1

ねえのリンクは、あなたがgetExternalCacheDir()を使用している場合は、アプリをアンインストールする際に、その唯一の自動削除フォルダと言います。だからあなた自身を修正してください。あなたはgetExternalStorageDirectoryを使用している場合は、手動でコード

文字列TEMP_FOLDER_PATH = Environment.getExternalStorageDirectory()+「/ myAppFolder /」の下に使用することができますフォルダを削除する

をプログラミングすることによって、フォルダを削除する必要があります。

File f1=new File(TEMP_FOLDER_PATH); 
    f1.delete(); 
+0

.. 。ありがとうございます。しかし、アプリケーションのアンインストール時にどのように検出すればいいですか? – Nik

+0

が答えを更新アンインストールされるとき、私はSDカードからフォルダを削除することができますどのようにあなたのケースにいることをやる、 – Maneesh

+1

厥の罰金をチェックしてくださいするにはどうすればよい付加することによって、パス名を変更/ Androidのは、/データ/ myappPackage – Nik

0

いいえ。アプリケーションをアンインストールすると、Android OSは1つのアプリケーションに対応するSDCardファイルを削除しません。

-1

削除

public static boolean deleteDirectory(File path) { 
if(path.exists()) { 
    File[] files = path.listFiles(); 
    if (files == null) { 
     return true; 
    } 
    for(int i=0; i<files.length; i++) { 
    if(files[i].isDirectory()) { 
     deleteDirectory(files[i]); 
    } 
    else { 
     files[i].delete(); 
    } 
    } 
} 
return(path.delete()); 

}

関連する問題