2010-05-21 270 views

回答

6

在5.0 API中有一個新類,名爲CodeModuleListener您可以使用它來監控您的模塊何時被卸載。 5.0之前,沒有掛鉤。然而,這裏有一些想法去思考和/或嘗試:

  1. 使用CodeModuleManager方法getModuleDownloadTimestamp()或getModuleTimestamp()(不知道哪一個會提供正確的信息)來查找「安裝時間「,然後將其存儲在持久性中。然後,每次啓動應用程序時,再次從模塊中讀取值並將其與持久值進行比較。如果模塊值較新,則重新安裝該應用程序。

  2. 如果您在永久存儲區(即Hashtable的子類)中存儲非本地類,則在您卸載應用程序時(因爲沒有該應用程序,類無意義),它將從持久存儲區中刪除。因此,您只需創建Hashtable的子類並將其存儲在持久性存儲中(以您的實際數據爲關鍵字),並在用戶卸載應用程序時將其自動從存儲中移除。

+0

1.我也必須支持4.5,所以我不能使用這個codeModuleListener。 2.我將創建此類: 私有類CustomHashtable擴展Hashtable implements Persistable {\t} 並將使用Hashtable的所有內容都更改爲此CustomHashtable,但是您認爲如果我重新安裝應用程序,數據將返回? – 2010-05-24 02:06:19

+0

我不確定 - 但它很容易測試和發現。 – 2010-05-24 05:53:58

+0

我在模擬器上做過,但每次我重新啓動/重新運行應用程序時,整個以前的數據都丟失了。這不是我想要的功能。 – 2010-05-24 07:26:48

0

也許我誤解了,但不應該卸載程序只是刪除持久存儲?一些卸載程序有一個複選框選項,用戶可以控制是否卸載其數據,但它肯定是卸載程序的工作,如果有必要,可以刪除它

+0

我試着卸載應用程序,然後重置,然後重新安裝應用程序,數據仍然存在,我找不到任何複選框刪除數據。 – 2010-05-24 02:04:08

+0

@Ari等待,您是否在問如何爲您的程序編寫卸載程序來刪除數據,或者如何使用現有程序的卸載程序?我假設前者;如果後者你在錯誤的網站 – 2010-05-24 03:53:16

+0

我想寫一個方法,我的應用程序將完全清除所有數據,我重新安裝應用程序。 我以爲你指着我如何擺脫使用黑莓卸載程序的數據。 – 2010-05-24 07:24:43

相關問題