2011-08-03 79 views
0

我正在構建一個SDK,我有一個名爲mainClass的類,所以在應用程序MainActivity中,我讓開發人員(使用SDK)在mainClass構造函數中傳遞類似應用程序鍵的數據,然後調用將啓動的註冊函數註冊服務僅在應用程序第一次打開時(使用首選項)。如何知道Android應用程序是否被重新部署?

問題是,當開發人員更改應用程序密鑰並再次部署應用程序(使用新的應用程序密鑰)時,應用程序的首選項(appFirstOpen = false)停留在那裏,註冊新的應用程序密鑰將不會通過。 我想過檢查應用程序密鑰是否在構造函數中改變,但它看起來像一個開銷。是否有知道應用程序是否重新部署以清除偏好或是否有其他方式來解決此問題。

+0

您的SDK或程序員是否管理首選項? –

+0

SDK正在管理首選項。 – Jimmy

+0

您是否可以根據App ID創建您的偏好? –

回答

0

要回答標題中的問題,不要有沒有新的部署標誌。因此,您必須檢查其他因素,例如應用程序中的應用程序ID,或系統中的PackageInfoApplicationInfo。如果您只想擦除應用程序的數據,則可以手動清除設置 - >應用程序中的數據,或者每次使用SharedPreferences.Editor.clear()擦除首選項數據。

看起來,當相同的應用程序針對新的應用程序ID運行時,您遇到了問題。這會告訴我,檢查應用程序ID的開銷是值得的。我會建議每個應用程序ID有一個首選項文件,它將能夠處理appFirstOpen條件。

相關問題