我正在開發一個Android應用程序,它在SD卡中創建一個文件夾並存儲一些圖像。我想在應用程序卸載時刪除該文件夾。請指導我。如何在卸載應用程序時刪除數據?
3
A
回答
0
使用API 7級,下一個解釋//爲你需要運行BroadcasrReciver,包括您在AndroidManifest.xml文件接收
<receiver android:name="com.android.mobileasap.PackageChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
//添加權限
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />
//在PackageChangeReceiver剛剛刪除的文件,我刪除doc文件在這下面的代碼
public class PackageChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
//this.context=context;
Uri data = intent.getData();
Log.d("hi", "Action: " + intent.getAction());
Log.d("hi", "The DATA: " + data);
String action=intent.getAction();
if(Intent.ACTION_PACKAGE_REMOVED.equalsIgnoreCase(action))
{
String PATH = Environment.getExternalStorageDirectory() + "/mycontent_download/";
File file = new File(PATH);
if (file.exists())
{
String listOfFiles [] = file.list();
if (listOfFiles!=null)
{
if (listOfFiles.length>0)
{
int size = listOfFiles.length;
for (int i=0; i<size; i++)
{
if (listOfFiles[i].substring(listOfFiles[i].length()-4, listOfFiles[i].length()).equalsIgnoreCase(".doc"))
{
File f1 = new File(PATH+listOfFiles[i]);
f1.delete();
}
}
}
}
}
的
+1
該廣播被第三方應用觸發,而不是您自己的。 – 2011-11-16 14:24:27
3
簡單:不可能。
目前沒有卸載事件,當您卸載自己的應用程序時觸發get。因此,你無法以任何方式對此作出反應。
唯一的例外:將您的數據存儲在由Context.getExternalFilesDir()
或Context.getExternalCacheDir()
提供的文件夾中。當您的應用程序被卸載時,這些將被刪除。
2
在API級別8或更多地利用外部緩存目錄:http://developer.android.com/guide/topics/data/data-storage.html#ExternalCache
也有在上面的鏈接
相關問題
- 1. 在卸載應用程序時刪除SQLite數據庫
- 2. 如何在卸載時刪除應用程序文件夾
- 3. 如何在卸載應用程序時刪除文件
- 4. 如何在android應用程序卸載時從sdcard中刪除數據?
- 5. 如何在卸載應用程序時刪除iPhone中userdefaults中的數據?
- 6. 如何在卸載ClickOnce應用程序時刪除所有數據?
- 7. 如何在卸載時從應用程序數據目錄中刪除文件?
- 8. 如何在卸載任何空中應用程序時刪除應用程序存儲目錄實例/數據
- 9. 卸載msi刪除應用程序
- 10. 刪除User.config在卸載程序時
- 11. Android - Sqlite數據庫文件在卸載應用程序時未被刪除?
- 12. 如何在卸載應用程序時刪除臨時文件夾
- 13. 如何從Android上卸載應用程序後刪除本地存儲數據
- 14. 卸載應用程序圖標時,應用程序是卸載
- 15. 如何刪除一個文件的卸載android應用程序?
- 16. 如何在卸載黑莓應用程序時刪除文件夾
- 17. 如何在C#.NET應用程序中卸載時刪除文件夾?
- 18. 如何在卸載應用程序時從SDcard中刪除文件
- 19. 如何在卸載時刪除應用程序附帶的所有圖像
- 20. 如果用戶卸載Android應用程序,哪些數據將被刪除
- 21. 如何在卸載時刪除設置
- 22. 如何在卸載android應用程序時自動刪除寫在SD卡上的數據?
- 23. 當我的應用程序在Android中卸載時,如何刪除應用程序的資產?
- 24. 捕獲應用程序在iPhone中刪除或卸載事件
- 25. 應用程序應該在卸載時刪除防火牆規則嗎?
- 26. 卸載應用程序數據。卸載程序使用哪條路徑?
- 27. Wix - 如何在卸載期間僅刪除應用程序根目錄
- 28. 卸載程序不刪除註冊表
- 29. Android - 保存或刪除應用程序在卸載時創建的文件
- 30. 要求輸入密碼才能卸載/刪除應用程序
可能重複[如何刪除文件的上卸載的Android應用程序?(HTTP://計算器.com/questions/4977351/how-to-delete-a-files-on-uninstall-the-android-application) – CodeCaster