android 进行消息传递,比如唤醒某个进程,广播和接收某个时间,用broadcastReceiver是一个很好的选择
broadcast 顾名思意就是广播,例如开机广播,接收短信广播等,当然用户也可以自定义广播,app可以接收到广播,然后做对应的处理工作。
发送广播 :
发送广播有两种方式,一种是使用普通的sendBroadcast,另一种是使用sendOrderedBroadcast,前一种广播完全异步,所有的用户几乎可以在同一时间接收到广播,后一种是按照receiver的优先级发送广播,优先级比较大的receiver,可以在广播中添加信息,或者中止广播的传递。接收广播:
接收广播需要注册receiver,有两种注册方式,一种是在AndroidManifest.xml里头 添加receiver标签,然后在intent-filter中添加想要接收的action,另一种是在代码中添加action ,如一下的例子Receiver receiver = new YourReceiver();// 准备接收广播的receiverIntentFilter filter = new IntentFilter(); filter.addAction("tomcat"); // filter添加了一个名为tomcat的actionfilter.setPriority(10); // 设置接收的优先级registerReceiver(receiver, filter); // 注册receiver两种注册方式的区别,
1)第一种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
2)第二种不是常驻型广播,也就是说广播跟随程序的生命周期。