为什么此代码是我的白线绘制问题什么问题 有办法替换它吗?
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
正是这一行代码是用白线方法绘制的
getExternalStoragePublicDirectory
答案 0 :(得分:2)
getExternalStoragePublicDirectory()
-> 已弃用 ,在API级别29
要改善用户隐私,请直接访问共享/外部存储 设备已弃用。当应用定位到Build.VERSION_CODES.Q时, 从此方法返回的路径不再可直接访问 应用。应用程序可以继续访问共享/外部存储的内容 通过迁移到诸如
Context#getExternalFilesDir(String)
,MediaStore或 Intent#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);
}
}