Android 如何在应用程序更新时清除用户数据?
我最初拥有的是:一个带有按钮的启动程序活动,可以启动我的主要活动。启动器活动具有共享的首选项,因此它只显示一次。但是,我添加了一个新的活动,当用户单击launcher活动上的按钮时,将出现一个介绍页面。但是,由于我的启动器活动上的共享首选项,该介绍页面不会显示 那么有没有办法在更新时清除用户的数据呢?仅针对此更新,当用户更新我的应用程序时,我希望运行以下程序:Android 如何在应用程序更新时清除用户数据?,android,Android,我最初拥有的是:一个带有按钮的启动程序活动,可以启动我的主要活动。启动器活动具有共享的首选项,因此它只显示一次。但是,我添加了一个新的活动,当用户单击launcher活动上的按钮时,将出现一个介绍页面。但是,由于我的启动器活动上的共享首选项,该介绍页面不会显示 那么有没有办法在更新时清除用户的数据呢?仅针对此更新,当用户更新我的应用程序时,我希望运行以下程序: SharedPreferences settings = getActivity().getSharedPreferences("cda
SharedPreferences settings = getActivity().getSharedPreferences("cda-preferences", Context.MODE_PRIVATE);
settings.edit().clear().commit();
这是可能的吗?是的,您可以为
MY\u PACKAGE\u REPLACED
操作定义一个BroadcastReceiver
。在此接收器的onReceive
方法中,您应该清除共享首选项中的标志。(API12+)
或者,您应该将应用程序的版本保存到共享prefs。当用户启动应用程序时,您应该检查上一个应用程序是什么,如果是更新的,请显示介绍页面。谢谢。我使用了int versionCode=BuildConfig.VERSION\u代码;来解决我的问题
<receiver
android:name=".OnUpgradeReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>