BroadcastReceiver与Service总结

BroadcastReceiver:对象的生命周期不超过5s,如果进行耗时工作,通过开线程,可以通过发送Intent给Activity或Service,由Activity或者Service来完成。
    1:用来已不接收意图的(Intent),广播Intent的发送时通过调用
       Context.sendBroadcast()或
       Context.sendOrderedBroadcast()或
       Context.sendStickyBroadcast()
       来实现的。
    注:Context.startActivity(Intent) ------>只能被一个组件(Activity/Service)接收
    Context.sendBroadcast(Intent) ------>能被订阅了此意图的所有广播接收者接收
    2:第一步:继承BroadcastReceiver,并重写onReceive方法。
             
    3:第二步:订阅感兴趣的广播Intent,订阅方法有两种:
            第一种:使用代码进行订阅:
            

            第二种:在AndroidManifest.xml文件中中的<application>节点里进行订阅:
           

Service:
        1:第一步:继承Service类
                

        2:第二步:在AndrodManifest.xml文件中的<application>节点里对服务进行配置。
                 
        注:服务不能自己运行。需要通过调用Context.startService()或Context.bindService
        startService():调用者与服务之间没有关联。系统先调用服务的onCreate()方法,接着调用onStart()方法。多次调用startService()方法并不会导致服务多次被创建,但会多次调用onStart()方法。并用Context.stopService()方法结束服务,服务结束时调用onDestroy()方法。
        bindService():调用者与服务绑定在一起“不求同时生,必须同时死。”系统调用服务的onCreate方法接着调用onBind()方法。这时调用者与服务绑定一起调用者退出时先调用服务的onUnbind()方法,接着调用onDestroy()方法。多次调用bindService()方法并不会导致调用者与服务多次被绑定。

 

 

转载:http://www.eoeandroid.com/viewthread.php?tid=15735&highlight=receive

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值