【问题标题】:With Kotlin write to SD-card on Android在 Android 上使用 Kotlin 写入 SD 卡
【发布时间】:2020-05-14 10:03:48
【问题描述】:

看了很多问题和答案,但都不是很满意和成功 我的问题:使用 Kotlin 将 sdcard 写入特定目录

工作是

        var filenamex = "export.csv"
        var patt = getExternalFilesDirs(null)
        var path = patt[1]
//create fileOut object
        var fileOut = File(path, filenamex)
//create a new file
        fileOut.createNewFile()

使用 getExternalFIlesDirs() 我得到了外部存储和 SD 卡。使用 path = patt[1] 我得到了我的 sd 卡的地址。

这是

"/storage/105E-XXXX/Android/data/com.example.myApp/files"

这可以在此目录中写入数据。 但我想写入另一个目录,例如

"/sdcard/myApp"

很多例子都说,这应该有效,但它没有。 所以我试着拿

"/storage/105E-XXXX/myApp"

为什么它不起作用? storage/storage/105E-XXXX/的开头是否相同,所以是MY sd-card。? 正如我提到的,它在sd卡上工作,所以它不是sdcard写权限的问题吗?

有什么想法吗? (我在 FileOutputStream 和其他方面也失败了)

【问题讨论】:

  • 您没有被授予对整个 SD 卡的通用访问权限,您只能写入您应用的特定目录,而其他目录仍然无法访问或只读。

标签: kotlin android-sdcard


【解决方案1】:

试试这个..

    var filenamex = "export.csv"

    var path = getExternalStorageDirectory() + "//your desired folder"

    var fileOut = File(path, filenamex)

    fileOut.createNewFile()

【讨论】:

  • getExternalStorageDirectory() 返回“/storage/emulated/0”,这是智能手机的内部存储,而不是sdcard
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多