用新的Android SDK 29编译的时候,Studio提示Environment.getExternalStorageDirectory()过时了,要用Context#getExternalFilesDir代替,Android Q以后Environment.getExternalStorageDirectory()返回的路径可能无法直接访问,所以改成了Context#getExternalFilesDir
所以Environment.getExternalStorageDirectory()可以改成:
getExternalFilesDir(null);
得到的路径如下:
/storage/emulated/0/Android/data/yourPackageName/files
这个目录会在应用被卸载的时候删除,而且访问这个目录不需要动态申请STORAGE权限。