我不想让任何人清除我的应用sharedPreference
:是否可能?
答案 0 :(得分:19)
嘿哥们我发现这里的答案是一种防止数据从共享偏好中清除的方法
将android:manageSpaceActivity=".ActivityOfMyChoice"
添加到您的清单的application
标记中,如:
<application android:label="MyApp" android:icon="@drawable/icon"
android:manageSpaceActivity=".ActivityOfMyChoice">
然后"Clear Data"
启用了"Manage Space"
ActivityOfMyChoice
。
它将调用我的活动,活动在创建时完成:)
public class ActivityOfMyChoice extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finish();
}
}
现在您可以根据需要按“管理空间”! :)
这种方法100%的工作时间。
答案 1 :(得分:3)
将删除未保存到SD卡的共享首选项和文件 当应用程序被卸载时。
保存到SD卡的文件将在卸载后保留,但是, 用户将有权读取,覆盖和删除这些文件 将
如果你需要真正的永久存储,最好的方法是 将数据远程存储在您控制的服务器上。
如果您不关心数据,则可以将其保存在SD卡上。
修改强>
我认为BFil的答案在this post非常好,请查看。
我的最终裁决
经过长时间的研究(为了我的纯粹和疯狂的好奇心!),在设置上清除之后,目前无法(暂时?)保留SharedPreference
:唯一的方法是服务器保险库或Data Backup。
答案 2 :(得分:0)
在manifesto allowClearUserData = false中添加此标记。此代码经过验证。