基本类接受函数sendBroadcast()发来的intents
如果你不是在多个app间发送广播,应该考虑使用LocalBroadcastManager。它提供更加高效的实现,不用考虑多app间发送和接受广播带来的安全问题。
广播的注册,可以使用 Context.registerReceive() 动态注册,或者在 AndroidMainfest.xml 声明来静态注册。
注意:如果你在 Activity.onResume 完成注册,应该在Activity.onPause() 中unregister.
发送广播类型主要有两种:
1.普通广播(Context.sendBroadcast)是完全异步的。所有的receivers收到广播顺序是不可预知的,通常是同时接收到。这更加高效,也意味着receives不能使用
结果和终止广播。
2.有序广播(Context.sendOrderedBroadcast) 每次发送到一个 receiver. 每个receive有次序的执行,可以给下个receive追加数据 或 终止广播。广播的顺序是
有 intent-filter的优先级来控制的,相同优先级的接受到广播的顺序是随机的。
注意,尽管广播的发送和接受是通过Intent,但Intent广播机制要与通过Context.startActivity()用来启动Activity的Intent 区分开。不允许Receiver接受广播
用来启动Activity.同样当你发送一个这样的广播也不会启动Activity。这是两种完
如果你不是在多个app间发送广播,应该考虑使用LocalBroadcastManager。它提供更加高效的实现,不用考虑多app间发送和接受广播带来的安全问题。
广播的注册,可以使用 Context.registerReceive() 动态注册,或者在 AndroidMainfest.xml 声明来静态注册。
注意:如果你在 Activity.onResume 完成注册,应该在Activity.onPause() 中unregister.
发送广播类型主要有两种:
1.普通广播(Context.sendBroadcast)是完全异步的。所有的receivers收到广播顺序是不可预知的,通常是同时接收到。这更加高效,也意味着receives不能使用
结果和终止广播。
2.有序广播(Context.sendOrderedBroadcast) 每次发送到一个 receiver. 每个receive有次序的执行,可以给下个receive追加数据 或 终止广播。广播的顺序是
有 intent-filter的优先级来控制的,相同优先级的接受到广播的顺序是随机的。
注意,尽管广播的发送和接受是通过Intent,但Intent广播机制要与通过Context.startActivity()用来启动Activity的Intent 区分开。不允许Receiver接受广播
用来启动Activity.同样当你发送一个这样的广播也不会启动Activity。这是两种完