Android解決getExternalStorageDirectory在29後廢棄問題(推薦)

今天給大傢分享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中相冊路徑

到此這篇關於Android解決getExternalStorageDirectory在29後廢棄問題(推薦)的文章就介紹到這瞭,更多相關Android getExternalStorageDirectory廢棄內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!