android的app开发或者framework开发中可以通过监听媒体挂载广播获取sd卡的拔插状态并获取到当前状态变化的存储设备信息。
1、测试代码
public class LSLogHandler {
private Context mContext;
public LSLogHandler(Context context) {
mContext = context;
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addDataScheme("file");
mContext.registerReceiver(mLogReceiver, filter);
}
private final BroadcastReceiver mLogReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "BroadcastReceiver onReceive.");
String action = intent.getAction();
Log.d(TAG, "Receive " + action);
if (Intent.ACTION_MEDIA_MOUNTED.equals(action)) {
StorageVolume volume = (StorageVolume)