在Android開發時,一般我們使用以下代碼獲取儲存路徑,獲取到的結果一般是/storage/emulated/0
Java
Environment.getExternalStorageDirectory().getAbsolutePath()
然而在Android10(API 29)以后獲取到這個路徑獲取,發現卻沒有權限訪問,無論你在AndroidManifest.xml文件中加上對應的權限還是使用ActivityCompat.requestPermissions動態申請到權限還是沒有解決!
百度些久,發現都是比較舊的信息,根本解決不了問題,於是看下官方的文檔,馬上解決了。
解決方法:
在AndroidManifest.xml文件中application節點中加上android:requestLegacyExternalStorage="true"屬性就可以了,如下:
Markup
<application
android:requestLegacyExternalStorage="true"
參考官方文檔: https://developer.android.google.cn/training/data-storage/compatibility