2011-10-25 96 views
4

作爲我正在開發的BlackBerry項目的一部分,我需要存儲數據的能力。根據RIM的文檔,在運行v5或更高版本操作系統的手持設備上,我們可以使用SQLite數據庫與更典型的PersistenceStore方法。BlackBerry:使用USB電纜時「filesystem not ready」

我注意到當我的手機(手電筒2)通過USB電纜插入時 - 我可以通過調試器運行代碼 - 「SDCard /」和「存儲/」不再可用(當撥打FileSystemRegistry.listRoots時,這些都不再列舉)。只有「system /」可用,但由於它是隻讀文件系統,所以這對我來說沒有什麼好處。

我需要一個讀/寫文件系統,即使手機連接到PC上也是可用的。

值得注意的是,當我插入手機時,我得到一個對話框,詢問我希望如何連接:Sync Media,Mass storage device或Charge Only是3種選項。我選擇哪一個並不重要......效果相同,因爲只有「system /」可用於文件系統。

任何意見或幫助,不勝感激。

-------------------------------------- UPDATE ------- -------------------------------

我與RIM的開發人員技術支持人員就此問題進行了交談,並簡單通知了此問題是一個時尚。他們的建議是

「這是不是一個錯誤,這是該設備是如何打算的功能。你可以 聽當設備通過USB和使用SystemListener2數據 無法連接的。」

因此,我們所能做的就是提醒用戶將手機插入USB電纜,無論您在應用程序中可能需要什麼功能(包括文件系統)暫時不可用。它可能是按照設計的功能,但我希望在某些時候他們會改進設計。

+1

這對開發人員來說確實是一種痛苦。如果我的應用程序在後臺線程上使用SDCard進行掃描(從網絡寫入一些數據到文件)會怎麼樣?我會通過聽衆通知SDCard剛剛變得不可用,從而獲得任何好處嗎?我不這麼認爲。這個結果取決於業務邏輯(有時候可以中斷一個行動/任務),但是看起來我們總是期望發生這種情況,並準備好執行一些回滾。 –

+0

像這樣的小事情 - 糟糕的架構 - 通過用更新,更好的技術強制「不斷前進」來幫助我們保持業務...希望RIM的新操作系統能更好地處理這種情況(Android在這個主題上做得很好) )。 – BonanzaDriver

+0

如果您在談論BBX(BB OS 7之後的操作系統),那麼已經有RIM的官方通知說它不會支持Java。所以我認爲我沒有機會檢查「RIM的新操作系統是否能更好地處理這種情況」。 –

回答

1

我不敢說我​​用這個簡單地掙扎然後放棄了。

根據我的經驗,無論您做什麼,通過USB連接時,RIM都會將SD卡掛載在pc文件系統上。

如果您從機器「彈出」您的設備,您應該可以訪問SD卡。

+1

即使通過USB連接,您也會認爲RIM仍然可以訪問讀/寫文件系統。最後,如果用戶決定使用他們的桌面管理器,這將導致正在運行的應用程序(如後臺服務)失去對這些資源的訪問權限。我覺得這很有趣,因爲有很多場景需要用戶管理大文件 - 這可能是你的應用程序的一部分 - 一旦他們連接你的應用程序將停止按設計工作。 – BonanzaDriver

+1

我同意,但考慮到RIM有蹩腳的開發者API的歷史,我並不感到驚訝。 – Nico

相關問題