如何访问Android设备上的可移动存储?

zna*_*nat 6 android android-sdcard

我正在寻找一种方法来检测和访问各种Android设备(三星,摩托罗拉,LG,索尼,HTC)上的可移动SD卡.

我还需要与2.2兼容,因此Environment.isExternalStorageRemovable()对我来说无法使用.

摩托罗拉有自己的库,对于三星,我可以检测到它的存在 /external_sd/

我对其余的人一无所知.例如,我/_ExternalSD/在某些LG上看到过,但即使删除了SD,目录仍然存在.

奖金问题:是否会ACTION_MEDIA_MOUNTED为其中任何人播放意图

任何暗示都会非常有帮助.

Ton*_*ony 1

所有 Android 版本均提供这些功能:

  • 要获取外部存储上应用程序的文件夹,请调用Context.getExternalFilesDir

  • 请记住,您的应用程序需要明确的权限才能访问外部存储,并且您应该通过以下方式检查它是否可用Environment.getExternalStorageState

  • 是的,ACTION_MEDIA_MOUNTED每当可移动媒体变得可访问时就会广播(您还应该收听ACTION_MEDIA_EJECTACTION_MEDIA_REMOVED