关闭

静态/动态注册广播的区别

504人阅读 评论(0) 收藏 举报
分类:

广播接收器注册一共有两种形式 : 静态注册和动态注册.

两者及其接收广播的区别:

1.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。

 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。


 2.当广播为有序广播
          1 优先级高的先接收
          2 同优先级的广播接收器,动态优先于静态
          3 同优先级的同类广播接收器,静态:先扫描的优先于后扫描的,动态:先注册的优先于后注册的。
  
3当广播为普通广播时:
         1 无视优先级,动态广播接收器优先于静态广播接收器
         2 同优先级的同类广播接收器,静态:先扫描的优先于后扫描的,动态:先注册的优先于后注册的。


动态注册代码:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. UpdateBroadcast  broadcast= new UpdateBroadcast();  
  2. IntentFilter filter = new IntentFilter("com.unit.UPDATE");  
  3. registerReceiver(broadcast, filter);  

静态注册代码(在配置文件中添加:

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <receiver android:name="net.youmi.android.AdReceiver" >  
  2.             <intent-filter>  
  3.                 <action android:name="android.intent.action.PACKAGE_ADDED" />  
  4.                 <data android:scheme="package" />  
  5.             </intent-filter>  
  6.  </receiver>  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:45809次
    • 积分:992
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:154篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论