Android把外部存储分成了两块区域:一块是所有应用均可访问的公共空间,另一块是只有应用自己才可以访问的私有空间。
2022-08-24 19:06:50.956 13706-13706/com.qidian.chapter06 D/guo: /storage/emulated/0/Android/data/com.qidian.chapter06/files/Download/1661339210922.txt
外部存储的公共空间需要添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
安卓10还需要在<application>标签内添加添加
android:requestLegacyExternalStorage="true"
// 外部存储的私有空间(APP卸载文件会被清除,百度网盘下载应放在此处最为合适)
String dir = null;
String fileName = System.currentTimeMillis() + ".txt";
dir = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString();
// 外部存储的公共空间(APP卸载文件不会被清除)
dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString();
// 内部存储私有空间
dir = getFilesDir().toString();
path = dir + File.separatorChar + fileName;
FileUtil.saveText(path,sb.toString());