在 Android SDK30 外部存储上编辑文本文件

问题描述

我正在尝试使个人应用程序适应 SDK30,但在编辑 PUBLIC 外部存储上的文本日志文件时遇到问题。即使我在创建 ParcelFileDescriptor 时声明了“wa”模式,每次我启动应用程序时它都会创建一个新的日志文件,在名称的末尾添加一个数字.. file.txt .. tile(1).txt ...

我的代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {

    if (uri_file == null) { // app start

        ContentValues values = new ContentValues();

        values.put(MediaStore.MediaColumns.disPLAY_NAME,file_name);

        values.put(MediaStore.MediaColumns.MIME_TYPE,"text/csv");

        values.put(MediaStore.MediaColumns.RELATIVE_PATH,Environment.DIRECTORY_DOCUMENTS);

        uri_file = getContentResolver().insert(MediaStore.Files.getContentUri("external"),values);
     }

        ParcelFileDescriptor descriptor = getContentResolver().openFileDescriptor(uri_file,"wa");

        out = new FileOutputStream(descriptor.getFileDescriptor());

    

} else { ... } // Build.VERSION.SDK_INT < Build.VERSION_CODES.Q


out.write((dat).getBytes());

out.close();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)