2012-07-06 91 views
1

我有黑莓應用程序(Java)。我的應用程序在文件中存儲了一些信息(文件:/// store/home/user/app_name /)。當用戶刪除應用程序時,這些文件不會被刪除。 我想刪除用戶刪除應用程序時的文件。 什麼是解決方案?如何在用戶刪除應用程序時刪除所有文件?

+0

沒有標準的回調方法通知MIDlet它正在被移除。也許黑莓特定的API? – 2012-07-06 17:43:29

回答

4

不要存放文件這種方式 - 使用持久化你的應用程序數據,而不是:http://docs.blackberry.com/en/developers/deliverables/17952/Storing_objects_persistently_1219782_11.jsp

+0

是的,這是很好的解決方案。但我需要將信息牢牢地保存在文件中。 – Tim 2012-07-06 15:02:54

+1

Jonathan在存儲大量數據/對象的情況下PersistentStore不是一個合適的地方。媒體卡上的文件系統要好得多。這是因爲PersistentStore是一個有限的存儲空間,它佔用與操作系統共享的內存。當操作系統內存不足時,設備工作不穩定。 – 2012-07-06 18:17:07

2

有兩個「標準」的方式來卸載應用程序。第一個,通過Options - Applications菜單。第二,通過javaloader -erase -f命令。

理論上,您可以截取第一種方式的卸載事件(當您使用「選項 - 應用程序」菜單時),但您需要額外的應用程序來接收此事件並執行清理操作。

要攔截並識別未知事件,請執行以下操作。

我寫一個簡單的黑莓應用程序,實現和使用GlobalEventListener並在後臺運行,並打印每一個攔截全球性事件的GUID到系統輸出和/或記錄與時間戳。

現在,從「選項」菜單中卸載您的應用程序並檢查記錄的全局事件指導。之後安裝/卸載其他應用程序。然後檢查日誌/系統輸出窗口以找出哪些事件與uninstall操作相關。

它不能保證100%的結果,但至少你會在編碼,記錄和探索中獲得樂趣。

相關問題