在某些從Application.onCreate()
調用getExternalFilesDir(null)
(且很少getFilesDir()
)的客戶設備上返回null。Android:從Application.onCreate()調用getExternalFilesDir(null)返回null
的文件沒有提到不能夠調用從應用程序對象這些方法和大多數的設備,他們的工作只是罰款。任何人都知道爲什麼這些方法會返回null,我應該只從一個Activity對象中調用它們嗎?
在某些從Application.onCreate()
調用getExternalFilesDir(null)
(且很少getFilesDir()
)的客戶設備上返回null。Android:從Application.onCreate()調用getExternalFilesDir(null)返回null
的文件沒有提到不能夠調用從應用程序對象這些方法和大多數的設備,他們的工作只是罰款。任何人都知道爲什麼這些方法會返回null,我應該只從一個Activity對象中調用它們嗎?
從文檔的ContextWrapper.getExternalFilesDir
返回
返回外部存儲的目錄保存應用程序文件的路徑。 如果當前未安裝外部存儲器,則返回null,因此無法確保路徑存在;您需要在可用時再次調用此方法。
在調用該方法之前,您是否正在檢查以確保外部存儲裝置已安裝?
添加
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
你的清單。 爲什麼寫不讀(當只讀目錄) - 我不知道。我想每個應用程序都需要它,以便在第一次使用SD卡時創建目錄。
我們的一些客戶也得到了這個。幸運的是,它突然在我們的一個測試設備上重現。
經過一番嗅探之後,我發現一個奇怪的文件出現在Android/data /中,名稱類似於應用程序包名稱,但大小爲0.我無法刪除或重命名它。當這個文件存在時,應用程序無法訪問外部存儲。
經過一番嘗試,我重新啓動了設備並導航到Android /數據。我看到這個奇怪的文件消失了,並出現了一個同名的文件夾。應用程序開始正常運行。
我認爲這是Android應用程序安裝程序中的一個錯誤。我將開始建議報告此問題的客戶重新啓動他們的設備。
是的,我與Environment.getExternalStorageState() – user656226