我有一个Android应用程序,它在几个文件中存储了大约25-40K的私人应用程序数据。默认情况下,系统将这些文件存储在目录/data/data/'my app package'/files中。当用户转到“设置->应用程序->管理应用程序->‘我的应用程序包’”并选择“清除数据”选项时,该应用程序的所有文件、数据库文件夹都将被删除。我需要将我的数据保存在设备上,直到应用程序被“卸载”。
有没有办法将我的应用程序数据“保存在设备上”而不被删除?我的设备没有根。我的应用程序不应该安装在有根基的设备上。
注意:我看到没有使用"clear data“选项删除/data/data/'my app package'/lib目录。但是我不能以编程的方式写入这个目录。我的许可被拒绝了。有没有办法使用这个目录来存储我的数据?有没有办法使用NDK (还没有在上面工作过)来保证数据的安全?在Windows编程中,有没有办法将数据保存在应用程序资源或类似于DLL资源中。
有什么能帮我摆脱困境的吗?
发布于 2011-09-13 12:06:44
下面的代码适用于我:android:manageSpaceActivity=".ActivityOfMyChoice"
然后,不是"Clear Data"
,而是一个用于启动ActivityOfMyChoice
的"Manage Space"
按钮
它在我的应用程序上工作,我看到它在海豚浏览器上工作(这就是促使我找到这个信息的原因)。
我使用的是三星Captivate (AT&T Galaxy S),库存是2.2 (Froyo)。我不知道是不是有些设备可以同时显示这两个功能。
某些设备可能仍会同时显示两者,或者根本不显示Manage Space
发布于 2017-07-05 16:38:10
添加
android:allowClearUserData="false“
对于manifiest的应用程序标记,它会将按钮Clear Data更改为Manage Space
发布于 2011-04-12 00:21:03
当用户转到“设置->应用程序->管理应用程序->‘我的应用程序包’”并选择“清除数据”选项时,此应用程序的所有文件、数据库文件夹都将被删除。我需要将我的数据保存在设备上,直到应用程序被“卸载”。
出于安全原因,这是不可能的,请参阅this问题。
https://stackoverflow.com/questions/5623976
复制相似问题