西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网

android保存一张图片sendBroadcast代码

时间:2016-04-27 13:23来源:未知 作者:好模板 点击:
android保存图片后加了以下代码就可以了 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri .parse(file:// + _file))); 那么这个sendBroadcast到底是做什么的呢?广播,相当于iOS中NSNotificationCen

android保存图片后加了以下代码就可以了

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri
                            .parse("file://" + _file)));

那么这个sendBroadcast到底是做什么的呢?广播,相当于iOS中NSNotificationCenter的postNotificationName。不过比iOS更加强大,iOS中只是app内适用,在android中发送一条广播其他app都可以收到,然后进行相应的处理。

发送广播比较

android

Intent it = new Intent("someNotification");
it.putExtra("some argv", "abcd");
sendBroadcast(it);

iOS

[[NSNotificationCenter defaultCenter] postNotificationName:AFNetworkingTaskDidCompleteNotification object:task userInfo:userInfo];

接收广播比较

android

private BroadcastReceiver br = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
      String someargv = intent.getStringExtra("some argv");
    }
  };
IntentFilter ifilter = new IntentFilter("someNotification");
registerReceiver(br, ifilter);

iOS

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkRequestDidFinish:) name:AFNetworkingTaskDidCompleteNotification object:nil];
- (void)networkRequestDidFinish:(NSNotification *)notification {
  NSDictionary * userDic = [notification userInfo];
    //some code
}

取消接收广播比较

android

registerReceiver(br, ifilter);

iOS

[[NSNotificationCenter defaultCenter] removeObserver:self];

总结

 附app效果图

 
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容