Android的SD卡问题

我currenlty有一些与开发一个APP和使用外部SD卡的问题。

来自developer.android.com

每个兼容Android的设备都支持可用于保存文件的共享“外部存储”。 这可以是可移动存储介质(如SD卡)或内部(不可移动)存储。 保存到外部存储器的文件是世界可读的,并且可以在用户启用USB大容量存储器在计算机上传输文件时进行修改。

也许这是一个问题?

我正在使用LG L5(E610)

我已经将正确的权限添加到清单文件。

我的其他问题可能与这个问题有关

很感谢任何forms的帮助。 谢谢。

Solutions Collecting From Web of "Android的SD卡问题"

你说:

第一个问题是我检查是否安装了SD卡。 即使没有插入SD卡,此函数也会返回true。

我认为你偶然发现了一些需要花费一些时间才能掌握的东西,因为这根本不清楚。

在Android中你会发现2种内存:

  • 系统之一,始终可用,高度安全:您的应用程序只能访问它的一小部分专门为您和其他应用程序无法读取您的数据。
  • 共享的,通常被称为公共,外部或“SD卡”。 每个应用程序都有读/写访问权限。 但它并不总是可用的,因为你可以“挂载”在你的电脑上,具有在Android中卸载并隐藏它的效果。 (但只在android 3.X之前)。

你会发现三种设备在野外:

  • 在某些设备上,这个共享内存是在芯片内部焊接的。 所以名称SD卡是不够的。 但是,path可能是“/ sdcard”
  • 在其他设备上,这个共享内存在一个真正的SD卡上,你可以删除。
  • 在其他一些设备上,这个内存用于芯片上的一部分,另一部分用在你的SD卡上。

根据你所说的我认为你是第三种设备。 所以你的物理SD卡将在这种path中find: /mnt/sdcard/external_sd/ 。 不幸的是,这是设备的具体情况,我不认为有什么在Android API来获得这条path。

另外,请记住,从Android 3.X开始,我们不需要“挂载”这个共享内存了。 所以你的共享内存将永远在Android上,因为我们现在使用MTP协议。

这就是为什么isExternalStorageAvailable()返回true,即使您的SD卡被删除。

得到它固定,是自己的问题。

感谢所有的帮助..