android– 正确检测SD卡是否可用

android– 正确检测SD卡是否可用,第1张

概述我使用以下代码来检查SD卡是否可用,但是在运行Android4.x的SamsungGalaxyII和Note设备上以及稍后 *** 作系统模拟具有SD卡,即使实际上设备上没有SD卡也是如此.privatebooleanisSDCardAvailable(){returnandroid.os.Environment.getExternalStorageState().equals(androi

我使用以下代码来检查SD卡是否可用,但是在运行Android 4.x的Samsung galaxy II和Note设备上以及稍后 *** 作系统模拟具有SD卡,即使实际上设备上没有SD卡也是如此.

private boolean isSDCardAvailable() {    return androID.os.Environment.getExternalStorageState().equals(androID.os.Environment.MEDIA_MOUNTED);}

如果SD卡可用,则调用getExternalCacheDir()获取我向用户显示错误的目录,并调用getCacheDir()以使用内部存储.

即使没有SD卡,上述方法也会返回TRUE和ALL设备.

解决方法:

自API级别11开始,此方法可用,它可以让您了解内部存储器是否可用作外部存储器.在某些设备中,即使SD卡不可用,getExternalStorageDirectory()也会返回true.阅读以下文档了解详情.

public static boolean isExternalStorageEmulated ()

Added in API level 11

Returns whether the device has an external storage device which is emulated. If true, the device does not have real external storage, and the directory returned by getExternalStorageDirectory() will be allocated using a portion of the internal storage system.

某些系统服务(例如程序包管理器)使用它来确定应用程序的安装位置.

Emulated external storage may also be encrypted – see setStorageEncryption(androID.content.Componentname, boolean) for additional details.

Android docs

总结

以上是内存溢出为你收集整理的android – 正确检测SD卡是否可用全部内容,希望文章能够帮你解决android – 正确检测SD卡是否可用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1106412.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存