我原来拥有的:一个带有按钮的启动器活动,可以启动我的主要活动。启动器活动具有共享首选项,因此它只会显示一次。但是,我添加了一项新活动,当用户点击启动器活动上的按钮时,会显示一个介绍页面。但是由于我的启动器活动的共享首选项,该介绍页面不会显示。
那么有没有办法清除用户的更新数据?仅用于此更新,当用户更新我的应用程序时,我希望它运行:
SharedPreferences settings = getActivity().getSharedPreferences("cda-preferences", Context.MODE_PRIVATE);
settings.edit().clear().commit();
这可能吗?
答案 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>
或者您应该保存应用的版本(到共享的首选项)。当用户启动应用程序时,您应该检查前一个应用程序是什么,如果更新,请显示介绍页面。