幾個星期前,我在HTC One V上測試了我的應用程序。當我的應用程序在第一次運行時檢查外部存儲的可用性時,發現沒有。 (我用getExternalStorageState()
並根據結果,getExternalFilesDir(null)
)。外部存儲和HTC One V
我閱讀了相關的stackoverflow線程(和Android文檔),所以我得出結論,任何支持Google Play的設備都必須提供某種外部存儲(SD卡或其他)。 Android官方主頁還暗示getExternalFilesDir
必須始終返回一個有效的地方(除非未安裝或裝入PC等)。
讓我進行測試的HTC One V的擁有者告訴我,他沒有拿到任何SD卡給他的手機。 (我知道外部存儲器也可以是其他的東西,但正如你上面看到的,標準的getExternalStorageState
調用返回沒有,即它沒有返回HTC One V的內部存儲器。)
如果我轉身關閉我的應用程序的外部存儲使用情況(而不是依靠手機內存),一切都運行正常。問題是,它是一個遊戲,它將超過50MB,所以我不得不使用Google的APK擴展文件的可能性 - 這需要外部存儲。
供應商/移動運營商是否有權在沒有外部存儲的情況下銷售手機(在這種情況下,沒有SD卡)?我知道這不是一個真正的開發問題,但正如你所看到的,這裏一定是錯誤的。據我所知,One V有一個很大的內部存儲器,所以我想知道爲什麼getExternalStorageState
沒有報告它可用。
我沒有測試的代碼,但這是它的精神,以獲取外部存儲目錄。 –
我使用官方的谷歌代碼,我懷疑我的代碼有問題。我想,它一定是那個特定的一個V的東西。 –
對不起,我的意思是帶有內部存儲的設備對getExternalFilesDir()有問題,而不是你特定的代碼。沒有冒犯:) –