2016-06-09 25 views
1

我有一個存儲中的應用程序,並使用「Environment.getExternalStorageDirectory()」來訪問存儲。這段代碼從2.3開始工作到Lollipop(在我的Galaxy S5,Verizon上),允許用戶讀/寫一個名爲Environment.getExternalStorageDirectory()/ MyFooBar的目錄。最近我的S5被更新爲6.0 Marshmallow,現在我的S5(以及客戶)也得到/ storage/emulated/0/MyFooBar無法創建的錯誤。我的應用程序使用Environment.getExternalStorageDirectory()

每個android API調用Environment.getExternalStorageState(),並與Environment.MEDIA_MOUNTED狀態進行比較,並掛載它並且Environment.isExternalStorageRemovable()爲no。

所有這些電話都一樣,現在w/S5和棉花糖被打破。

任何幫助,將不勝感激。

謝謝你,吉姆

回答

0

在在Android 6.0(API級別23)開始,用戶授予權限的應用程序,而應用程序正在運行,而不是當他們安裝應用程序。

WRITE_EXTERNAL_STORAGE是一個危險的權限,它不會自動授予,因此您應該實施新的權限方案以使其在Android Marshmallow上運行。

https://developer.android.com/training/permissions/requesting.html

+0

優秀。非常感謝你的回答。 – user3123813

+0

如果它適合您,請將其標記爲已接受。謝謝! –

相關問題