Android 第六讲 广播接收器和服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 第六讲 广播接收器和服务相关的知识,希望对你有一定的参考价值。

参考技术A

两种方式:静态注册和动态注册
动态注册:

1)动态注册:需要定义一个继承自BroadcastReceiver类的子类,该接收器需要在Activity中的onDestroy中注销
2)静态注册:通过在androidManifest.xml中配置

两种广播形式:有序广播和无序广播
1)无序广播:接受标准广播的接收器将同时收到广播消息,异步执行,没有先后顺序 sendBroadCast
2)有序广播:sendOrderedBroadCast,按照一定顺序先后被接受顺序,由priority属性决定,abortBroadCast中断广播

如果只想在本应用中发送和接受广播,使用LocalBroadcastReceiver来对广播进行管理
本地广播不支持静态注册
优点 :安全高效

Service是Android中的一种组件,和Activity的级别一致,但不能自己运行,只能后台运行,和其他组件交互,服务必须注册才能使用

本地服务:服务依附在主线程中,节约资源,主线程死掉服务终止
远程服务:服务在独立进程中,灵活性好 ,占用资源高

两种服务的启动模式:
1)start方式:调用者和服务之间没有关联,调用者退出不会影响服务,startService启动服务,如果服务不存在,调用onCreat方法,然后onStartCommand被调用。stopService关闭服务,onDestroy方法被调用
2)bind方式:调用者和服务绑定,调用者退出,服务终止bindService启动服务,onCreate方法创建服务,onBind方法绑定服务,onUnbind方法解绑,onDestory在服务结束时调用

以上是关于Android 第六讲 广播接收器和服务的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在动态注册的广播接收器上出现“无法传递广播”错误

android 学习随笔十八(广播与服务 )

广播接收器在服务中的 Android RAM 使用错误

使用Android服务,实现报警管理器和广播接收器

android app中的服务为啥接收不到广播

Android:更改联系人时,带有广播接收器的前台服务停止工作