两个app间发送广播(动态)
2016-05-25 15:23
197 查看
需求:两个app间发送广播
在两个app间发送广播和正常发送广播其实差不多。
新建两个android项目,项目name为test1,test2。需求:在test2中发广播,在test1中接受广播。
一,test1部分
先创建一个java类继承BroadcastReceiver类,用来在 onReceive()方法中处理获得的广播。
在java代码中动态注册,代码如下:
这里我多提一下,当有多个action要接受,比如你接受一个app发送的广播,又接受一个系统的广播,这时需注册两次,不然可能会接收不到全部的广播。代码如下:
不要忘记释放注册的广播,一般在ondestory()方法中释放:代码如下:
二, test2部分
在java代码中发送广播,发送的action与test1中接受到的action要一致,代码如下:
在两个app间发送广播和正常发送广播其实差不多。
新建两个android项目,项目name为test1,test2。需求:在test2中发广播,在test1中接受广播。
一,test1部分
先创建一个java类继承BroadcastReceiver类,用来在 onReceive()方法中处理获得的广播。
public class MyReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { 当test2发送广播后,在这里接受并处理收到的广播。 } }
在java代码中动态注册,代码如下:
IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("你接受的action"); myReceiver = new MyReceiver(); registerReceiver(myReceiver, intentFilter2);
这里我多提一下,当有多个action要接受,比如你接受一个app发送的广播,又接受一个系统的广播,这时需注册两次,不然可能会接收不到全部的广播。代码如下:
IntentFilter intentFilter1 = new IntentFilter(); intentFilter1.addAction("你接受的action1"); IntentFilter intentFilter2 = new IntentFilter(); intentFilter2.addAction("你接受的action2"); myReceiver = new MyReceiver(); registerReceiver(myReceiver, intentFilter1); registerReceiver(myReceiver, intentFilter2);
不要忘记释放注册的广播,一般在ondestory()方法中释放:代码如下:
@Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(myReceiver); }
二, test2部分
在java代码中发送广播,发送的action与test1中接受到的action要一致,代码如下:
Intent intent = new Intent(); intent.setAction("你发送的action"); this.sendBroadcast(intent);
相关文章推荐
- 需求评审之前,需求挖掘和需求管理怎么做?
- 以用户需求为驱动的产品设计
- 产品新人在工作中容易犯的致命错误
- 阿里实习回顾:这3种场景,真正的问题和解决方法是这样
- 如何正确对待需求的变更
- 从一则笑话分析需求的陷阱
- 宜宾劳动局同城异地容灾备份系统技术需求
- 网络工程师的就业前景如何?市场需求如何?
- 需求分析从那些方面进行考虑
- 如何真正理解客户需求,需求管理,走出开发的恶性循环
- 测试角度关于需求与需求规格简要分析
- 用UML做好系统分析
- 项目管理心得
- 中小企业信息化亟需四大需求分析
- linux流行化
- 主题谈我对攻读计算机研究生的看法
- 百变需求,轻松搞定
- 需求分析中应该注意的问题
- 业务在测试过程中的重要性
- 收集需求:知道客户想要什么