Android 监控SD卡的插拔状态

我们是以DV6300-T的平台来做测试的,发现有2种方式来检测android中external media(包括SD卡,USB)的状态。

一种是使用StorageListener监听,还有一种是使用广播的方式。

 

DV6300-T的存储设备相关分析:

相关的类主要有:
RecordDeviceManager   DeviceStateListener  ChoiceRecordDevice
主要采用了观察者模式对设备拔插的监控来触发各种不同情况:

比如在DTVLauncher中就增加了观察者mRecordDeviceListener,在检测到设备拔出时候会停止时移或录制等。

 

第一种监测方式:

使用StorageManager  IMountService  StorageEventListener等类来控制(可以参考DV6300-T的源码):

 

StorageManager mStorageManager = (StorageManager)context.getSystemServic(Context.STORAGE_SERVICE);
mStorageManager.registerListener(mStorageListener);
IMountService mMountService = IMountService.Stub.asInterface(ServiceManager.getService("mount"));

StorageEventListener mStorageListener = new StorageEventListener() {
    @Override
    public void onStorageStateChanged(String path, String oldState,String newState) {
        if(path.equals(mRecordDeviceStorageName)) {

        Log.i("u

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值