如何在应用更新时清除用户数据?

时间:2015-12-14 21:12:44

标签: android

我原来拥有的:一个带有按钮的启动器活动,可以启动我的主要活动。启动器活动具有共享首选项,因此它只会显示一次。但是,我添加了一项新活动,当用户点击启动器活动上的按钮时,会显示一个介绍页面。但是由于我的启动器活动的共享首选项,该介绍页面不会显示。

那么有没有办法清除用户的更新数据?仅用于此更新,当用户更新我的应用程序时,我希望它运行:

SharedPreferences settings = getActivity().getSharedPreferences("cda-preferences", Context.MODE_PRIVATE); 
    settings.edit().clear().commit();

这可能吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以为BroadcastReceiver操作定义MY_PACKAGE_REPLACED。在此接收者的onReceive方法中,您应该清除共享首选项中的标记。 (API12 +)

<receiver
    android:name=".OnUpgradeReceiver"
    android:enabled="true" >
    <intent-filter>
        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
</receiver>

或者您应该保存应用的版本(到共享的首选项)。当用户启动应用程序时,您应该检查前一个应用程序是什么,如果更新,请显示介绍页面。