在Android 10及以上的设备中,由于权限更改的原因,需要获取更多的权限才能创建文件或目录。可以通过以下代码示例获取权限并创建文件或目录:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){ // 当应用程序运行在 Android 10及以上设备上时,需要获取额外的权限 ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.DISPLAY_NAME, filename); values.put(MediaStore.MediaColumns.MIME_TYPE, "text/plain"); values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DOCUMENTS + File.separator + "myapp"); Uri uri = getContentResolver().insert(MediaStore.Files.getContentUri("external"), values); OutputStream outputStream = getContentResolver().openOutputStream(uri); outputStream.write("Hello, World!".getBytes()); outputStream.close(); } else { // 在 Android 10以下的设备上,可以使用 File API 创建文件或目录 File directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "myapp"); if (!directory.exists()) { directory.mkdirs(); } File file = new File(directory, filename); FileOutputStream outputStream = new FileOutputStream(file); outputStream.write("Hello, World!".getBytes()); outputStream.close(); }
其中,filename可以是要创建的文件名,myapp可以是应用程序要创建文件或目录的名称。此代码示例可以在Android 10及以上的设备上创建文件或目录,并在Android 10以下的设备上使用File API创建文件或目录。