2013-12-03 117 views
1

手動我可以做清除Android應用程序的數據

Settings -> Applications -> Manage applications -> (choose my app) -> Clear data 

如何做到這一點編程?

我需要刪除所有數據,包括共享首選項(和變量)中的數據。

+0

,而不是硬編碼'/數據/數據/ COM .example.applicationpackagename /。「我該如何指定它?因爲根據@ChrisStratton我不能使用'getExternalFilesDir(null)' –

回答

0

應用程序中的所有內容都存儲在這裏/data/data/com.example.applicationpackagename/

您的應用程序由在此目錄上具有R/W訪問權限的用戶運行。

你只需要刪除它中的每個文件。

的信息:Android - How to delete a whole folder and content?

+0

不完全正確。您**不具有對該目錄中所有文件的寫入權限 - 例如,將包含jni庫的libs /文件夾。但我不認爲清算應用程序通常會將其刪除。此外,您不應該假定該軟件包的私有目錄是什麼,而應該使用適當的API來發現它在特定設備上的內容。 –

+0

感謝您的意見。但是,是使用的答案:'if(dir.isDirectory())String [] children = dir.list();對於(int i = 0; i

+0

那麼,你必須優雅地處理失敗或主動跳過你不允許刪除的文件夾。 –

-2

你可以使用下面的代碼在「包名」也能像com.example.app1您的應用程序包名

Intent intent = new Intent(); 
intent.setData(Uri.parse("package:" + packageName)); 
相關問題