Android解決getExternalStorageDirectory在29后廢棄問題,親測能用
初衷:在安卓10之后相信大家都遇到了getExternalStorageDirectory廢棄的問題,看了網上很多都根據官方用到了getExternalFilesDir但是保存圖片至相冊后的通知又成了一個問題,所以我們還是不要走歪路,直接替代getExternalStorageDirectory
廢話不多說,直接上代碼:
// SDCard地址 /storage/emulated/0
// getExternalStorageDirectory在29已廢棄
// String saveDir = Environment.getExternalStorageDirectory().getAbsolutePath();
// getExternalFilesDir() 用于獲取SDCard/Android/data/你的應用的包名/files/ 目錄
File externalFileRootDir = getExternalFilesDir(null);
do {
externalFileRootDir = Objects.requireNonNull(externalFileRootDir).getParentFile();
} while (Objects.requireNonNull(externalFileRootDir).getAbsolutePath().contains("/Android"));
String saveDir = Objects.requireNonNull(externalFileRootDir).getAbsolutePath();
String savePath = saveDir + "/" + Environment.DIRECTORY_DCIM + "/" + filename;
最終savePath就是SDCard中相冊路徑
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/260628.html
標籤:其他
