ndroid 上层应用如何监听 sdcard的插拔事件
2010-12-15 11:44
579 查看
监听
Intent.ACTION_MEDIA_MOUNTED
Intent.ACTION_MEDIA_EJECT
Intent.ACTION_MEDIA_REMOVED
等这些代表 sdcard状态的几个action, 但是我的receiver 就是接收不到消息,不知道是为什么?
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);//使用完注销广播监听函数
Intent.ACTION_MEDIA_MOUNTED
Intent.ACTION_MEDIA_EJECT
Intent.ACTION_MEDIA_REMOVED
等这些代表 sdcard状态的几个action, 但是我的receiver 就是接收不到消息,不知道是为什么?
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);//使用完注销广播监听函数
相关文章推荐
- android 上层应用如何监听 sdcard的插拔事件
- Android实践 -- 监听外置sdcard(TF卡)的插拔事件
- android应用中监听usb、sdcard事件
- 添加sdcard插拔事件的监听广播
- android中如果activity中应用fragementlayout布局文件,如何给其中的控件添加事件监听。
- Android 扫描SDCard上的音乐文件以及监听扫描事件
- Android 扫描SDCard上的音乐文件以及监听扫描事件
- Android 扫描SDCard上的音乐文件以及监听扫描事件
- Android 扫描SDCard上的音乐文件以及监听扫描事件
- Kivy A to Z -- 如何在Kivy中获取SD卡或者U盘的插拔事件
- Fragment详解之六——如何监听fragment中的回退事件与怎样保存fragment状态
- android SD卡路径问题以及如何获取SDCard 内存
- web前端之MVC的JavaScript Web富应用开发二:事件和监听
- [置顶] Android如何监听第三方应用的启动
- js鼠标滚轮上下滚动监听事件应用实例(跨浏览器,亲测)
- Spring中的事件监听机制在项目中的应用
- Android在SDCard创建目录_卸载应用同时删除工程创建的文件
- Android在SDCard创建目录_卸载应用同时删除工程创建的文件
- Android应用如何监听自己是否被卸载及卸载反馈功能的实现(第二版)
- java事件监听机制及应用