2015-12-14 104 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;解決我的問題 –

相關問題