Android解決getExternalStorageDirectory在29后廢棄問題
File externalFileRootDir = context.getExternalFilesDir(null); do { externalFileRootDir = Objects.requireNonNull(externalFileRootDir).getParentFile(); } while (Objects.requireNonNull(externalFileRootDir).getAbsolutePath().contains("/Android")); String saveDir = Objects.requireNonNull(externalFileRootDir).getAbsolutePath(); mTempPhotoPathclone = saveDir + "/" + Environment.DIRECTORY_DCIM + "/" + System.currentTimeMillis()+".png";
//全部外部可用存儲,通常作為媒體對用戶不可見 返回Array<File>,null可以改為DIRECTORY_DCIM,DIRECTORY_DOCUMENTS,DIRECTORY_DOWNLOADS,DIRECTORY_PICTURES等 context.getExternalFilesDirs(null) //少了個s 懂得都懂 當然是第一個File context.getExternalFilesDir(null) //外部不可用存儲 context.getFilesDir()