2011-07-26 22 views
1

我們開發了一個Android程序,它依靠訪問SD卡上的特定目錄。我們的程序檢測SD卡是否可用於手機,如果不是,則會向用戶顯示錯誤消息。觸發此錯誤的最常見用例是將設備插入計算機並將SD卡安裝到計算機上。SD卡狀態的術語

我們正在處理錯誤信息,它將指示用戶確保SD卡可用於手機。

不幸的是,似乎每個手機制造商都有自己的術語,說明SD卡是否可用於手機以及如何掛載/卸下它。例如,(某些?)Samsung設備顯示帶有Mount/Unmount按鈕的屏幕。 HTC Thunderbolt有一個菜單,其中一個選項是「僅充電」。摩托羅拉設備似乎在類似三星的行爲和類似HTC Thunderbolt行爲之間分化。 XOOM是完全自己的裝置。

於是,兩個問題:

是否有將傳達給他們應該做的SD卡可用於設備,而不是提供給計算機用戶一個共同的正確的術語?

如果沒有很好的通用術語,是否有方法可以確定我們正在運行的設備類型,並根據特定設備的術語定製錯誤消息?

回答

1

「請刪除所有usb外圍設備(exc充電器)爲這個應用程序工作」?

注意: (當其安裝,但他們認爲它只是一個充電器,他們最終會刪除它,看看它是否工作呢!)

否則:

http://developer.android.com/reference/android/os/Build.html

退房BRANDMANUFACTURER或它們的組合加其他(MODEL ==「XOOM」也許?)

if("Motorola".equals(android.os.Build.MANUFACTURER)){ // or .contains or .starts with etc 
// Do stuff  
} 

您可能需要做一些測試,因爲它可能會返回「Mtrla」或「MotorolaChina」等。

+0

這是一個有趣的想法 - 我們不一定想讓他們拔掉電纜,我們只是想讓他們卸載(?)SD卡。 –

+0

但是,這是讓他們卸載的最快方法;-) – Blundell