为什么这段代码是我的白线画问题 问题是什么 有没有办法替换它?
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
正是这行代码是由白线方法绘制的getExternalStoragePublicDirectory
getExternalStoragePublicDirectory()
--> 在 API 级别 29 中已弃用
为了改善用户隐私,请直接访问共享/外部存储 设备已弃用。当应用定位到Build.VERSION_CODES时。问, 从此方法返回的路径不再可直接访问 应用程序。应用可以继续访问存储在共享/外部的内容 通过迁移到替代方案进行存储,例如
Context#getExternalFilesDir(String)
、媒体商店或 意图#ACTION_OPEN_DOCUMENT。
void createExternalStoragePrivateFile() {
// Create a path where we will place our private file on external
// storage.
File file = new File(getExternalFilesDir(null), "DemoFile.jpg");
try {
// Very simple code to copy a picture from the application's
// resource into the external file. Note that this code does
// no error checking, and assumes the picture is small (does not
// try to copy it in chunks). Note that if external storage is
// not currently mounted this will silently fail.
InputStream is = getResources().openRawResource(R.drawable.balloons);
OutputStream os = new FileOutputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
} catch (IOException e) {
// Unable to create file, likely because external storage is
// not currently mounted.
Log.w("ExternalStorage", "Error writing " + file, e);
}
}