2015-12-14 89 views
1

我原本的东西:一个发射器活动,带有一个按钮,可以启动我的主要活动。启动器活动具有共享偏好,因此它只会显示一次。不过,我添加了一项新的活动,当用户单击启动器活动上的按钮时,将出现介绍页面。但是由于我的启动器活动共享首选项,该介绍页面不显示。如何在应用程序更新时清除用户数据?

那么有没有什么方法可以在更新时清除用户的数据?只是本次更新,当用户更新我的应用程序,我想这运行:

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

这可能吗?

回答

1

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

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

或者你应该保存你的应用程序的版本(共享首选项)。当用户启动应用程序时,您应该检查以前的应用程序,如果其更新,则显示介绍页面。

+0

谢谢。我用int versionCode = BuildConfig.VERSION_CODE;解决我的问题 –

相关问题