【问题标题】:Amazon Kindle Fire HD Saving Files onto MicroSD CardsAmazon Kindle Fire HD 将文件保存到 MicroSD 卡上
【发布时间】:2016-03-12 13:54:40
【问题描述】:

在有人提出我的问题之前,我想声明我已经尝试了大约 5 个其他选项和可能的解决方案,但没有结果。

这是我的代码的 sn-p。这只是一个sn-p。目前在测试我的代码结果时,一个文件被保存在主目录 /ScoutingApp 中。但是,我想将文件保存在 MicroSD 卡上的文件夹 /ScoutingApp/ 中,这样我可以更快地弹出数据。

        if (Environment.MEDIA_MOUNTED.equals(state)) {
        File root = Environment.getExternalStorageDirectory();
        File Dir = new File(root.getAbsolutePath() + "/ScoutingApp");
        if (!Dir.exists()) {
            Dir.mkdir();
        } else {

            filename = UUID.randomUUID().toString() + ".sql";
            File file = new File(Dir, filename);

【问题讨论】:

    标签: java android kindle-fire


    【解决方案1】:

    如果您的 Fire OS 所基于的 Android 是 Android 4.4+,您可以在任何 Context(例如 Activity)上尝试 getExternalFilesDirs()。请注意复数形式——如果此方法返回 2+ 个项目,则第二个和后续项目位于 removable storage。这些位置将特定于您的应用,您可以在没有权限的情况下读取和写入这些位置。

    但请注意,Fire OS 并不完全符合 Play 生态系统的兼容性要求,因此 YMMV。

    【讨论】:

    • 我尝试使用 getExternalFilesDirs(),但不确定将什么作为参数传递给它。
    • @AlexWebber:嗯,好吧,如果您阅读 the docs 的那个参数,他们有:“要返回的文件目录的类型。对于文件目录的根目录或其中之一可能为 null子目录的以下常量:DIRECTORY_MUSIC、DIRECTORY_PODCASTS、DIRECTORY_RINGTONES、DIRECTORY_ALARMS、DIRECTORY_NOTIFICATIONS、DIRECTORY_PICTURES 或 DIRECTORY_MOVIES。这些常量在Environment 上定义。因此,请选择最适合您需求的内容,例如 null
    • 感谢您一直以来的帮助。它正在 /0/ 中保存一个文件,我猜这是另一个驱动器。它需要进入 /sdcard1/,我无法弄清楚。
    • @AlexWebber: ::shrug:: 遍历从getExternalFilesDirs() 返回的数组并记录结果。或者,放弃所有这些,看看您是否可以使用the Storage Access Framework 来允许用户选择放置文件的位置,因为他们可以通过这种方式选择可移动存储。一般来说,可移动存储并不是 Android 的强项,Fire OS 不太可能在这种状态下有所改进。
    • 我能够遍历那个数组,它返回了两个不同的数组。我如何将它保存到第二个,0 是内部的,1 是我想要的。 @CommonsWare
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    相关资源
    最近更新 更多