在 SD 卡上写入日志

问题描述

我想像这样写日志到SD卡

String filePath = "/storage/FC30-3DA9" + "/logs" + "/logcat.txt";

在清单中

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我从用户那里请求它们。 我可以从卡中读取文件,但无法写入。当我尝试写入文件时,我的权限被拒绝。 路径 Environment.getExternalStorageDirectory() 通向手机的内部存储器。我有root。

解决方法

是的。由于 Android Kitkat 可移动 micro SD 卡是只读的。

只有在 Android 11 设备上,它们才能再次写入。

但有一个例外:卡上的应用特定目录。

查看 getExternalFilesDirs() 返回的第二项。

如果您改用存储访问框架,您的应用可以随处写入。