2013-12-03 116 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)); 
相关问题