我有一个应用程序,可以在SD卡上存储少量文件。如果用户想删除该应用程序,我希望我的应用程序删除这些文件。我怎样才能做到这一点?有onDelete()
之类的方法吗?
答案 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可能是一个解决方案,希望它有所帮助