android中广播接收SD卡状态

mReceiver = new BroadcastReceiver() {

//add by mengmeng.chen begin

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if (action.equals(Intent.ACTION_MEDIA_MOUNTED)) {

loadDir((String)mPath.getText());

}else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED) || action.equals(Intent.ACTION_MEDIA_BAD_REMOVAL)||action.equals(Intent.ACTION_MEDIA_EJECT)) {

loadDir(FileUtils.ROOTPATH);

}

}

};

filter = new IntentFilter();

filter.addAction(Intent.ACTION_MEDIA_MOUNTED);

filter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

filter.addAction(Intent.ACTION_MEDIA_EJECT);

filter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);

 filter.addDataScheme("file");

registerReceiver(mReceiver, filter);// registerReceiver(BroadcastReceiver receiver, IntentFilter filter) ,第一个参数是我们要处理广播的 BroadcastReceiver (广播接收者,可以是系统的,也可以是自定义的);第二个参数是意图过滤器。

}

原文地址:https://www.cnblogs.com/dreamy890322/p/3148659.html