首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android开发,关于IntentFilter跟BroadcastReceiver的理解

2012-09-02 
android开发,关于IntentFilter和BroadcastReceiver的理解之前看了一些例子,对Intent,IntentFilter,一直存

android开发,关于IntentFilter和BroadcastReceiver的理解
之前看了一些例子,对Intent,IntentFilter,一直存在许多疑惑,今天看了一个关于调用扫描内存卡里媒体文件例子,总算明白它们之间的关系。
IntentFilter用来过滤Intent的action值,当调用一个intent的时候,它会有不同的状态产生,比生开始跟结束,广播接收类并不是对每一种状态都进行监听处理,所以这时候需要一个Filter来进行过滤。

IntentFilter intentfilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED);
     intentfilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
    intentfilter.addDataScheme("file");
    SCansdReceiver scanSdReceiver = new SCansdReceiver();
    registerReceiver(scanSdReceiver, intentfilter);
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
    Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath())));

热点排行