2012-08-12 65 views
0

默认情况下,Android上的共享首选项可以通过电话设置删除。是否有可能阻止这一点?基本上我想存储Android文档中定义的Shared Preference,但不允许以任何理由删除它们。即电话设置,应用程序更新和应用程序卸载。如果这是不可能的,你会建议这样做的存储机制。我需要存储的大部分是原始数据。是否可以阻止共享首选项以避免被删除?

我在做一个应用程序,我需要从用户收集某些数据,并确保他将只有一个机会提供,否则她会被欺骗。我同意,最好的选择是存储我的服务器上提供的数据,但如果用户关闭互联网,这种方法将不起作用。我知道这两项要求可能都很难满足。

+1

如果您想对答案发表评论,请点击答案下方的“添加评论”链接,而不是问题下方的“添加评论”链接。 – CommonsWare 2012-08-12 23:11:15

+1

嘿伙计我喜欢100%成功的方式来防止sharedpreferace被清除看到我的答案在这里http://stackoverflow.com/questions/20300166/how-to-prevent-a-shared-preferance-from-being-clear-in - 设置 – Hardik 2014-02-07 08:44:30

回答

5

可以删除手机上存储的任何数据。当应用程序被卸载

共享偏好,而不是保存到SD卡上的文件将被删除。

文件保存到SD卡卸载后会继续存在,但是,用户将有机会获得阅读,过度写,并随意删除这些文件。

如果你真正需要永久保存的最好的办法,就是远程存储自己控制的服务器上的数据。

+0

看到我的答案是可能的http://stackoverflow.com/questions/20300166/how-to-prevent-a-shared-preferance-from-being-clear-in-setting – Hardik 2015-01-03 09:08:19

1

你对我做的建议听起来很危险。

记住,当你编程时,你一定环境中编程。操作系统将限制你可以和不能做什么方面,保持跨应用程序的一致性,提供安全保障等

如果你想使用共享偏好为应用程序提供了试验的手段,或一些其他与注册相关的问题,我不知道Android上的框架是什么,但我相信有更安全的方法。