在API29的时候就会提示API失效如下图:Environment.getExternalStoragePublicDirectory
代替方法也很简单,我们点进去看源码就会看到注释信息给我们的提示的替代方案:
然后我分别打印了下这些对应代码的目录如下图:
总体目录代表的是根目录/Android/data/包名/file
上面目录对应的代码如下:
File externalFilesDir1 = getExternalFilesDir(Environment.DIRECTORY_ALARMS);
File externalFilesDir2 = getExternalFilesDir(Environment.DIRECTORY_AUDIOBOOKS);
File externalFilesDir3 = getExternalFilesDir(Environment.DIRECTORY_DCIM);
File externalFilesDir4 = getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS);
File externalFilesDir5 = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File externalFilesDir6 = getExternalFilesDir(Environment.DIRECTORY_MOVIES);
File externalFilesDir7 = getExternalFilesDir(Environment.DIRECTORY_MUSIC);
File externalFilesDir8 = getExternalFilesDir(Environment.DIRECTORY_NOTIFICATIONS);
File externalFilesDir9 = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File externalFilesDir10 = getExternalFilesDir(Environment.DIRECTORY_PODCASTS);
File externalFilesDir11 = getExternalFilesDir(Environment.DIRECTORY_RINGTONES);
File externalFilesDir12 = getExternalFilesDir(Environment.DIRECTORY_SCREENSHOTS);
File externalFilesDir13 = getExternalFilesDir(Environment.DIRECTORY_RINGTONES);
File externalFilesDir14 = getExternalFilesDir(Environment.MEDIA_BAD_REMOVAL);
File externalFilesDir15 = getExternalFilesDir(Environment.MEDIA_CHECKING);
File externalFilesDir16 = getExternalFilesDir(Environment.MEDIA_EJECTING);
File externalFilesDir17 = getExternalFilesDir(Environment.MEDIA_MOUNTED);
File externalFilesDir18 = getExternalFilesDir(Environment.MEDIA_MOUNTED_READ_ONLY);
File externalFilesDir19 = getExternalFilesDir(Environment.MEDIA_NOFS);
File externalFilesDir20 = getExternalFilesDir(Environment.MEDIA_REMOVED);
File externalFilesDir21 = getExternalFilesDir(Environment.MEDIA_SHARED);
File externalFilesDir22 = getExternalFilesDir(Environment.MEDIA_UNKNOWN);
File externalFilesDir23 = getExternalFilesDir(Environment.MEDIA_UNMOUNTABLE);
File externalFilesDir24 = getExternalFilesDir(Environment.MEDIA_UNMOUNTED);
Log.e("打印路径", externalFilesDir1.getAbsolutePath()
+ "\n" + externalFilesDir1.getAbsolutePath()
+ "\n" + externalFilesDir1.getAbsolutePath()
+ "\n" + externalFilesDir2.getAbsolutePath()
+ "\n" + externalFilesDir3.getAbsolutePath()
+ "\n" + externalFilesDir4.getAbsolutePath()
+ "\n" + externalFilesDir5.getAbsolutePath()
+ "\n" + externalFilesDir6.getAbsolutePath()
+ "\n" + externalFilesDir7.getAbsolutePath()
+ "\n" + externalFilesDir8.getAbsolutePath()
+ "\n" + externalFilesDir9.getAbsolutePath()
+ "\n" + externalFilesDir10.getAbsolutePath()
+ "\n" + externalFilesDir11.getAbsolutePath()
+ "\n" + externalFilesDir12.getAbsolutePath()
+ "\n" + externalFilesDir13.getAbsolutePath()
+ "\n" + externalFilesDir14.getAbsolutePath()
+ "\n" + externalFilesDir15.getAbsolutePath()
+ "\n" + externalFilesDir16.getAbsolutePath()
+ "\n" + externalFilesDir17.getAbsolutePath()
+ "\n" + externalFilesDir18.getAbsolutePath()
+ "\n" + externalFilesDir19.getAbsolutePath()
+ "\n" + externalFilesDir20.getAbsolutePath()
+ "\n" + externalFilesDir21.getAbsolutePath()
+ "\n" + externalFilesDir22.getAbsolutePath()
+ "\n" + externalFilesDir23.getAbsolutePath()
+ "\n" + externalFilesDir24.getAbsolutePath());