关闭

Android注册广播

标签: android
156人阅读 评论(0) 收藏 举报
分类:



代码动态注册广播
  1. private static final String ACTION = "com.receiver.umengevent.do";  
[java] view plain copy
  1. IntentFilter filter = new IntentFilter();  
  2. filter.addAction(ACTION);  
  3. filter.setPriority(Integer.MAX_VALUE);  
  4. registerReceiver(myReceiver, filter);  

配置静态注册广播
        <receiver android:name="com.kk.dynamic.receiver.UMengEventReceiver" >
             <intent-filter>
                    <action android:name="com.receiver.umengevent.do" />
             </intent-filter>
        </receiver>


发送广播
public void sendReceiver(int c){
Intent intent= new Intent();
intent.setAction("com.receiver.umengevent.do");
intent.putExtra(UMengEventReceiver.keyName, c);
context.sendBroadcast(intent);
}



public class UMengEventReceiver extends BroadcastReceiver {

public static final int JarNum = 1000;
@Override
public void onReceive(Context context, Intent intent) {
int what = intent.getIntExtra("keyName", 0);
switch (what)  {
case JarNum:
onEvent(context, "JarNum");
break;
}
}

}



---------------------------------------------------------------------------


 新建一个服务独立进程

      <service
            android:name="com.kk.dynamic.service.MyService"
            android:process=":remote" >
        </service>


----------------------------------------------------

代码动态注册广播
  1. private static final String ACTION = "com.receiver.umengevent.do";  
[java] view plain copy
  1. IntentFilter filter = new IntentFilter();  
  2. filter.addAction(ACTION);  
  3. filter.setPriority(Integer.MAX_VALUE);  
  4. registerReceiver(myReceiver, filter);  

配置静态注册广播
        <receiver android:name="com.kk.dynamic.receiver.UMengEventReceiver" >
             <intent-filter>
                    <action android:name="com.receiver.umengevent.do" />
             </intent-filter>
        </receiver>


发送广播
public void sendReceiver(int c){
Intent intent= new Intent();
intent.setAction("com.receiver.umengevent.do");
intent.putExtra(UMengEventReceiver.keyName, c);
context.sendBroadcast(intent);
}



public class UMengEventReceiver extends BroadcastReceiver {

public static final int JarNum = 1000;
@Override
public void onReceive(Context context, Intent intent) {
int what = intent.getIntExtra("keyName", 0);
switch (what)  {
case JarNum:
onEvent(context, "JarNum");
break;
}
}

}



---------------------------------------------------------------------------


 新建一个服务独立进程

      <service
            android:name="com.kk.dynamic.service.MyService"
            android:process=":remote" >
        </service>


----------------------------------------------------
0
0
查看评论

android注册广播的两种方式与区别

Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下:
  • zhiwenyan
  • zhiwenyan
  • 2016-02-24 12:21
  • 16387

android广播注册简单用法

注册广播有两种方法:动态注册(在代码中注册),静态注册(AndroiMainfest.xml)。 实现注册你需要指明:要监听什么广播,和监听之后要做什么动作(自定义广播重写onReceive)。 举一个监听网络变化的例子 要监听的广播是:"android.net.conn.C...
  • tingyuanss
  • tingyuanss
  • 2015-06-01 09:56
  • 6404

Android Broadcast广播注册和发布方式以及机制流程

Broadcast大致机制流程: 1. 广播接受者BroadcastReceiver通过Binder机制向AMS(AndroidManagerService)进行注册; 2. 广播发送者通过Binder机制向AMS发送广播; 3. AMS查找符合条件(IntentFilter/Permi...
  • liu_3262296
  • liu_3262296
  • 2016-07-17 23:06
  • 1892

Android广播动态注册重复注册问题

最近在学习android广播的内容,按照书上的例子写了个小程序实现强制下线的功能,大体运行流程为: 登录输入账号密码后进入主界面,在主界面点击按钮弹出对话框提示被强制下线。点击确定后显示登录页面。 结果第一次被踢还好好的,再登录被踢以后就会出现两次提示的对话框。第三次被踢就会出现三次…..我在程...
  • greyfreedom
  • greyfreedom
  • 2015-12-05 16:12
  • 6038

Android在Service中注册动态广播接收者

广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\ 2.动态注册广播不是 常驻型广播 ,也就是说广播跟随activity的生命周期。注意: 在ac...
  • baidujiangwei18
  • baidujiangwei18
  • 2016-05-10 14:18
  • 7730

Android中广播注册与接收流程

当我们通过registerReceiver注册广播的时候,其实是使用的Context来注册的,前面”activity启动流程”,我们已经知道Context的实现类是ContextImpl,所以广播的注册是从ContextImpl中开始的广播的注册流程@Override public Intent r...
  • mockingbirds
  • mockingbirds
  • 2016-11-11 22:20
  • 1701

Android-动态注册广播和注销广播

Android-动态注册广播和注销广播静态注册广播广播机制在安卓开发很常见也很重要,它既可以静态注册,也可以 动态注册和注销,广播可以设置优先级。 首先是静态 activity_main.xml<LinearLayout xmlns:android="http://schema...
  • ACM_TH
  • ACM_TH
  • 2016-01-13 12:23
  • 7270

Android中广播接收者的注册与释放

Android中常常利用广播机制来在各个组件之间传递消息,例如在Activity和Service之间。 在Activity中注册广播接收者,来接收来自Service的广播:public class LoginReceiver extends BroadcastReceiver { ...
  • whurs
  • whurs
  • 2015-04-06 16:44
  • 1565

android -广播是内部类注册注意事项

我在注册一个网络监听时报了这个错: 07-22 09:30:06.411: E/AndroidRuntime(25736): FATAL EXCEPTION: main 07-22 09:30:06.411: E/AndroidRuntime(25736): Process: xxxxxxxx, P...
  • ZHOU452840622
  • ZHOU452840622
  • 2016-07-22 09:45
  • 1553

android application更新广播定义和接收

android自带的设置中有application的管理这个功能,包含显示,卸载等操作。application分为本地应用和sdcard应用。         本地应用有添加,删除和更新,监控的方式是通过广播来执行,具体广播注册代码如下: ...
  • zhudaozhuan
  • zhudaozhuan
  • 2012-03-02 21:17
  • 7557
    个人资料
    • 访问:13830次
    • 积分:287
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:0篇
    • 译文:2篇
    • 评论:1条
    文章分类
    文章存档