【问题标题】:Saving binary files with scoped storage使用范围存储保存二进制文件
【发布时间】:2020-07-14 16:32:48
【问题描述】:

我有一个应用程序,用户可以在其中选择和生成 bin 文件,这些文件必须易于用户访问。

到目前为止,我一直要求用户在 SD 卡上创建一个文件夹,并将所有 bin 文件保存在该文件夹中,用户可以手动添加新文件,这些文件将显示在应用程序的文件管理器中。

我不知道如何使用scooped storage做到这一点,看起来我无法保存在默认目录中,因为用户不易访问,最大的问题是该文件夹在应用程序时被删除被删除。

这是一个很大的禁忌,即使删除了应用程序,也应该保留所有文件,否则,我的用户会很生气,bin文件对用户来说非常重要,即使应用程序被删除。

【问题讨论】:

  • 使用谷歌磁盘

标签: android scoped-storage


【解决方案1】:

我能够找到解决方案,我知道这已经很晚了,但我希望这对其他人有所帮助。

首先,您需要文件 URI,例如,您可以通过选择带有 Intent.ACTION_GET_CONTENT 的文件来获取它

然后获取一个OutputStream

val p: ParcelFileDescriptor = contentResolver.openFileDescriptor(uri, "w") // w: write, r: read
val fos = BufferedOutputStream(FileOutputStream(p.fileDescriptor))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多