首页 > 代码库 > Android-广播机制的注册及作用
Android-广播机制的注册及作用
Android的广播接收器注册方式分为两种:
1.动态注册:(即代码注册,该注册经常伴随着组件的生命周期或者对象的生命周期同生共死),如下:
/** * @author Lean @date:2014-8-19 */ public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter=new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(new NetWorkBroadcastReceiver(),filter); } }2.静态注册:即在AndroidManifest.xml中注册.
<receiver android:name="org.lean.NetWorkBroadcastReceiver" > <intent-filter android:priority="990"> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver>
安全权限为:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在此对其注册的问题进行考究.之前看一些教材说是只要在android安装的时候对其priority与android绑定,并在receiver系统表中自动注册信息.
1.其实不然,在安装的时候,并没有启动应用的,系统是不用绑定你的<receiver />的.具体是否有效以如下的按钮判断为主:该图说明了你的应用正在运行,也就是你在xml里注册的广播接收器是有效果的.
2.假设应用并没有强制停止,在重新开机后,上图仍然为运行状态.也就是广播接收着还会在特定的条件下触发.(如下重新开机)
(如下,重新启动后,该包的进程运行状态,至于底层做了什么,请大牛们解释下)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。