在删除app之前做一些事情

时间:2015-06-16 13:18:17

标签: java android

我有一个应用程序,可以在SD卡上存储少量文件。如果用户想删除该应用程序,我希望我的应用程序删除这些文件。我怎样才能做到这一点?有onDelete()之类的方法吗?

3 个答案:

答案 0 :(得分:3)

  

我有一个应用程序,可以在SD卡上存储少量文件。我想要我的应用程序   删除这些文件,

请勿将它们直接存储在sdcard上。使用应用程序的缓存空间或getExternalFilesDir指向的目录。卸载应用程序时,系统都会清除这两者

答案 1 :(得分:2)

,您的应用无法知道何时从设备中删除/删除。

  

Intent.ACTION_PACKAGE_REMOVED

     

广播操作:已从设备中删除现有的应用程序包。   数据包含包的名称。 正在安装的软件包未收到此Intent。

这主要是因为如果要在即将删除的应用上执行代码,有些代码可能会阻止删除等。

您应该为用户提供一个选项来擦除SD卡数据,或使用其他存储选项(链接到您的应用),但我猜你是故意使用SD卡。

答案 2 :(得分:1)

所有应用程序(根或不是)都有一个默认数据目录,即/ data / data /。默认情况下,应用程序数据库,设置和所有其他数据都会显示在此处。如果一个应用程序希望存储大量数据,或者出于其他原因希望“对内部存储很好”,那么SDCard上就有一个相应的目录(Android / data /)。

除此之外,所有应用程序都可以将数据存储在SDCard的任何位置,因为没有任何限制 - 许多应用程序都这样做。

您的应用制作的数据库将存储在 /data/data/your.package.namedatabases/ 并将在卸载应用时删除。

将文件保存在数据库而不是SDCard可能是一个解决方案,希望它有所帮助