Android 检测SD卡状态
2023-11-11 18:01:05发布 浏览621次 信息编号:83010
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
Android 检测SD卡状态
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// sd card 可用
}else {
// 当前不可用
}
。 // SD卡在手机上正常使用。
。 // 用户在手机设置中手动卸载SD卡后的状态。
。 // 用户手动卸载然后从手机中取出SD卡后的状态
。 // 用户不去手机设置手动卸载SD卡,直接拨出状态。
。 // 手机直连电脑并作为U盘使用后的状态
。 // 手机正在扫描SD卡状态。
在对SD进行开发操作时,最好在SD卡处于. 状态。 不适合对其他状态的文件进行操作。
要监控SD卡状态,目前我知道有两种方法:
1.注册监控sd卡状态
里面有ad()方法,当SD卡状态发生变化时,会调用该方法。 一般用类来判断各个状态。 该类包含的与SD卡状态相关的常量有:
:表示卸载前已删除
:表示正在检查磁盘上的对象
:表示sd对象存在并且有读/写权限
NLY:表示该对象权限为只读
:表示该对象为空或正在使用不支持的文件系统
:如果不存在则返回
:如果未安装并通过 USB 大容量存储共享则返回
: 无法安装 如果存在但无法安装
:如果存在但未安装则返回。
喜欢:
public void onStorageStateChanged(String path, String oldState, String newState) {
if (newState.equals(Environment.MEDIA_SHARED)) {
//大容量存储时相关操作
} else if (newState.equals(Environment.MEDIA_CHECKING)) {
//检查sd卡时操作
} else if (newState.equals(Environment.MEDIA_MOUNTED)) {
//sd在手机上可用时操作
}...
}
还有()用来监控大容量存储是否连接。 我对这个方法了解不多。 我本来以为是用来监控USB线是否拔掉的。 不过在Linux上看起来没有问题,但是在Linux上却不能使用。 监控USB拔出状态,不知道是驱动有问题还是我使用错误。 我期待专家的解答。
2.通过接收监控sd卡状态
当sd卡状态发生变化时,会发送。 收到后即可获取sd卡状态。 以下是关于sd卡状态的信息:
TION: SD 卡已从 SD 卡插槽中取出,但挂载点尚未释放。
:用户想要移除SD卡
:sd卡已插入并挂载
: SD 卡已移除
:SD卡共享为USB大容量存储并释放挂载。
ON:sd卡存在但尚未挂载
:开始扫描
:扫描完成
如果只想获取当前sd卡状态,不需要监控,可以使用.ate()方法来获取当前sd卡状态。
提醒:请联系我时一定说明是从星空网上看到的!