【问题标题】:Multiple external storage多个外部存储
【发布时间】:2013-12-06 11:16:46
【问题描述】:

我目前正在开发一个将在 Galaxy Xcover 2 (GT-S7710) 设备上使用的应用程序。这款手机有一个安静的奇怪行为:它列出了两个外部存储。第一个容量为 1 GB,路径:/storage/sdcard0,第二个容量为 14GB,路径为/storage/extSdCard。第二个是真正的可移动 SD 卡,我猜第一个存储位于设备上。

如果我调用Environment.getExternalStorageDirectory(),则返回第一个存储的路径。是否有任何方法二查询第二个存储?我可以使用固定的绝对路径,但这似乎是一个非常糟糕的解决方案,并且还会破坏与其他手机的兼容性。

【问题讨论】:

  • 是的,你是对的,文档缺少关于如何访问辅助外部存储的说明。这就是我问这个问题的原因。 :)
  • 我在这里找到了一个可行的解决方案:stackoverflow.com/a/19982338/747412
  • 在您太高兴之前,您可能无法写入实际的 SD 卡:只能读取。这是三星的怪癖。您可以通过获取 root 访问权限来克服该限制。同样,您可能会遇到这种情况。我预计任何运行三星版本 Android 3.2 或更高版本的三星设备都已禁用外部 SD 卡写入。
  • 幸运的是,我可以使用上述设备进行书写,还可以使用 Evolveo StrongPhone Q4,它在外部存储方面具有相同的行为。

标签: android storage


【解决方案1】:

我想你会找到答案here

基本上,系统不会让您通过 Enviorment 类访问辅助外部存储介质,以确保在您的应用未安装时将删除与您的应用相关的数据。

【讨论】:

  • 我知道那个页面,但它没有帮助。唯一的方法是像在引用的解决方案中那样手动解析已安装的设备。
【解决方案2】:

我现在这个话题已经过时了,但这可能会有所帮助。你应该使用这个方法。

System.getenv();

查看项目Environment3 以访问连接到您设备的所有存储空间。

https://github.com/omidfaraji/Environment3

【讨论】:

    猜你喜欢
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    相关资源
    最近更新 更多