我的根文件夹不是在android 10中创建的?

问题描述

我下载音乐并想在回收站中播放,在所有android中一切正常,但在android 10中未创建根目录,这是我的代码

     File parent = new File(Environment.getExternalStorageDirectory().toString(),".ringtones2020");
    final String songPath = "/" + arrayListNames[pos] + ".mp3";
    final String loc = parent + songPath;
    final File checkFile = new File(parent,songPath);

请帮助我...

解决方法

getExternalStorageDirectory在Android 10中为deprecated,您应该查看有关访问Scoped Storage的存储的新限制。仅适用于Android 10,您可以选择退出并添加requestLegacyExternalStorage标志以进行显示,但在Android 11及更高版本中,必须使用范围存储

,

在Api级别29中,不建议使用此方法。 您无法直接访问用户的存储空间。 如果要保存任何文件,将有几种基于您的用例的方法。

  1. 范围存储(其他应用程序不可访问)
  2. 使用MediaStore(用于媒体文件)

有关更多详细信息,请参见here