gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:51 25 4
gpt4 key购买 nike

我使用以下代码检查 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 和所有设备。

最佳答案

请参阅此方法自 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卡是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com