Android开发之API29以上Environment.getExternalStoragePublicDirectory废弃的问题

在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());

猜你喜欢

转载自blog.csdn.net/xiayiye5/article/details/113344204
今日推荐