WEB开发网
开发学院手机开发Android 开发 Android SD 卡插拔事件响应 阅读

Android SD 卡插拔事件响应

 2010-03-18 16:07:00 来源:WEB开发网   
核心提示://自己写一个广播监听函数private final BroadcastReceiver broadcastRec = new BroadcastReceiver() [email protected] void onReceive(Context context, Intent intent) {if(intent.g

//自己写一个广播监听函数

private final BroadcastReceiver broadcastRec = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if(intent.getAction().equals("android.intent.action.MEDIA_MOUNTED"))//SD 卡已经成功挂载

{

imagepath = android.os.Environment.getExternalStorageDirectory();//你的SD卡路径

}else if(intent.getAction().equals("android.intent.action.MEDIA_REMOVED")//各种未挂载状态

||intent.getAction().equals("android.intent.action.ACTION_MEDIA_UNMOUNTED")

||intent.getAction().equals("android.intent.action.ACTION_MEDIA_BAD_REMOVAL"))

{

imagepath = android.os.Environment.getDataDirectory();//你的本地路径

}

}

};

//在IntentFilter中选择你要监听的行为

IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);

intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);

intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED);

//intentFilter.addAction(Intent.ACTION_MEDIA_SHARED);

intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL);

//intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);

//intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);

intentFilter.addDataScheme("file");

registerReceiver(broadcastRec, intentFilter);//注册监听函数

unregisterReceiver(broadcastRec);//使用完注销广播监听函数

Tags:Android SD 事件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接