最近在看android开发的相关书籍,终于能对android的广播机制有一点较为清醒的认识。
如果你以前做过windows的相关开发,就一定对Event不会太陌生;如果你以前做过面向对象的开发,那么你应该很熟悉Event了。当我们按下一个按钮,就会触发onClick事件,或者按下键盘上的某个键,就会触发一个onKeyDown事件等等,但是有一些事情系统不会预知用户什么时候触发它,因此便有了系统事件,便有了广播!
如果把系统事件比作一条晾衣服的绳子,那么每一个要接受这个事件的应用程序就是衣服,如果这些衣服能够感知到绳子的震动,就需要使用衣服架(或者说是Windows下的Hook)将它挂到绳子上,这一步其实就是在注册我们的接收器,而且根据所挂的位置不同,感知震动的顺序也会有所不同,这就可以理解为程序的优先级了,当然,如果不想感知事件,那么完全可以将衣服取下来,这就是注销,很简单吧。
总而言之,一个广播的完整处理过程和晾衣服很像,首先我们要注册接收器,然后发送广播,只要我们没有注销,那么应用程序就会接受到系统发送的消息,你就可以做相应的处理了!!!呵呵,是不是很简单啊,如果这篇博文能帮你更好的理解广播机制,那我就满足了。。。
如果您还有什么问题不理解,咱们可以互相讨论的奥。。。