android广播动态与静态注册小知识

       android的广播分为静态注册和动态注册两种方式,具体的操作方式网上有非常多的案例。这里主要记录一下他们的一些特殊的小知识。

1.动态注册和静态注册可以同时进行,简单来说就是使用一个Receiver分别在AndroidManifast中进行注册,又写入在程序中用代码注册(无论Action是否相同),两种注册方式不会造成影响。动态注册只会在程序存在时执行,静态注册一直执行。哪怕是完全相同的Receiver。即如果程序存在,该Receiver会被执行两次。

2.动态注册使用同一个Receiver对象,从开始创建直到其被解除注册。会使用同一个Receiver,无论这个广播被触发几次。而静态注册则每次触发都会建立新的Receiver对象。

3.android.intent.action.SCREEN_ON与android.intent.action.SCREEN_OFF不可以使用静态注册(没有效果),必须使用动态注册的方式。可能是由于android的内部管理机制导致,不希望程序在未运行时还保持对屏幕的监视。

猜你喜欢

转载自liguanyi11111.iteye.com/blog/2096465
今日推荐