如何防止共享偏好在设置中变得清晰

时间:2013-11-30 12:21:55

标签: android sharedpreferences clear

我不想让任何人清除我的应用sharedPreference:是否可能?

3 个答案:

答案 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)

我找到this similar question

  

将删除未保存到SD卡的共享首选项和文件   当应用程序被卸载时。

     

保存到SD卡的文件将在卸载后保留,但是,   用户将有权读取,覆盖和删除这些文件   将

     

如果你需要真正的永久存储,最好的方法是   将数据远程存储在您控制的服务器上。

如果您不关心数据,则可以将其保存在SD卡上。

修改

我认为BFil的答案在this post非常好,请查看。

我的最终裁决

经过长时间的研究(为了我的纯粹和疯狂的好奇心!),在设置上清除之后,目前无法(暂时?)保留SharedPreference:唯一的方法是服务器保险库或Data Backup

答案 2 :(得分:0)

在manifesto allowClearUserData = false中添加此标记。此代码经过验证。