【问题标题】:How do we programmatically check if the android phone supports external SD cards?我们如何以编程方式检查安卓手机是否支持外部 SD 卡?
【发布时间】:2014-05-21 03:54:11
【问题描述】:

如何以编程方式检查 Android 手机是否提供支持外部 SD 卡

请注意,我不希望检查手机是否添加了外部 SD 卡,我想了解手机是否提供相同的支持

编辑:我想让我的问题更清楚。我想知道手机硬件是否支持外置SD卡。

【问题讨论】:

    标签: android android-sdcard android-memory


    【解决方案1】:

    试试下面的代码:-

    Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
    
    if(isSDPresent)
    {
      // yes SD-card is present
    }
    else
    {
     // Sorry
    }
    

    或查看以下链接:-

    How to check if a SD Card has been inserted to the tablet or not : Android?

    Detecting if SD card present or not always returns true

    阅读此文档:-

    https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory%28%29

    【讨论】:

    • 如前所述,我认为这并不能回答问题。这会报告是否安装了 SD 卡,而不是设备是否有(可能未占用的)SD 卡插槽。
    • 不,这不是我要找的,请再次阅读我的问题。此外,在实践中,我发现这总是返回 true。我完全使用另一种方法来检查 sd 卡是否可用。
    • @matiash 感谢您批评我,但请阅读此文档developer.android.com/reference/android/os/…
    • 我找到了解决方案。感谢您的帮助。
    【解决方案2】:

    我找到了一种间接的方法:

    一旦你尝试访问存储路径

    "/storage/external_SD"
    

    如果外部 SD 卡没有硬件支持,则会出现异常。所以我找到了解决问题的方法。

    【讨论】:

    • 谁说那是存储路径?它可能是 /storage/sdcard2 或 /storage/extSdCard 或许多其他路径。我认为你想要的是不可能的。
    • 没错,但就我而言,我只在开发特定品牌的手机,其中这条路径始终是统一的。因此,在受限条件下,这似乎是一个不错的解决方案。
    猜你喜欢
    • 2011-11-17
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 2013-10-17
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多