之前看了一些例子,对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())));
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())));