在使用ContentResolver创建文件时,可以通过指定文件名的方式来避免生成随机文件名的问题。具体可以参考以下代码示例:
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, "myFile.txt");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "text/plain");
Uri uri = getContentResolver().insert(MediaStore.Files.getContentUri("external"), contentValues);
// 然后通过流写入文件内容
OutputStream outputStream = getContentResolver().openOutputStream(uri);
outputStream.write("Hello World!".getBytes());
outputStream.close();
在上述代码中,我们通过在ContentValues中指定文件名和MIME类型的方式来创建文件,并将返回的Uri用于写入文件内容。这样就避免了ContentResolver自动生成随机文件名的问题。