我一直在尝试将文件从我的应用程序写入外部SD卡,但是它没有写入,我的测试手机是Galaxy duos和LG,当我在LG手机上试用它工作得很好,不过LG手机安卓版本是4.1.2。虽然银河系是4.4.2,我想这与kitkat 4.4中SDCard的变化有关,想知道是否有人能解决它?
答案 0 :(得分:0)
在4.4中,应用程序无法将数据写入外部SD卡上的任何位置。应用程序只能将数据写入外部卡上的某些文件夹(在/ extSdCard / Android / data / path下)。这是Google强加的新限制,应该允许用户在卸载应用程序后删除与应用程序关联的所有数据。
答案 1 :(得分:0)
借助Android 4.4(KitKat),谷歌阻止了应用程序写入SD卡,除了非常具体的沙盒位置。应用程序可以直接写入 ONLY 到通过Context.getExternalFilesDirs(),Context.getExternalCacheDirs()等获得的特定于包的目录。“直接”访问被定义为使用传统的文件访问API,如POSIX open()。对这些辅助外部存储设备的其余部分的直接访问对于应用程序仍然是只读的。
但是,应用程序可以使用新的CREATE_DOCUMENT意图在辅助外部存储设备上的特定于程序包的目录之外创建/写入文件,这意味着用户参与文件创建过程。
值得注意的是,Google的Nexus设备不支持micro SD卡;但是,许多其他Android设备都具有micro SD卡功能。从安全的角度来看,之前版本的Android让设备容易受到攻击,但谷歌现在通过限制第三方应用程序可以使用Micro SD卡来解决这些安全问题。