Android之广播机制—动态注册
来源:互联网 发布:淘宝活动时间 编辑:程序博客网 时间:2024/05/02 02:37
动态注册,即在代码中完成注册。好处是我们可以自由的控制注册与注销。
灵活性方面有很大的优势。
灵活性方面有很大的优势。
需要注意的是,动态注册的广播接收器一定要取消注册才行。
@Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); //创建一个intentFilter实例,并用其add.Action()方法添加一个Action值。 //这个值的意思就是当网络状态发生变化时,系统就会发出一条广播。 //我们要创建一个网络状态发生变化的广播接收器,所以就将值设为此,意为接收此广播。 intentFilter=new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); //创建广播接收器的实例。 maesReceiver=new MaesReceiver(); //调用registerReceiver()方法进行注册和绑定,//将有Action标签值的intentFilter和接收器实例传入。 //就实现了两者的绑定与注册。 registerReceiver(maesReceiver,intentFilter); //这是获取WIFI实例的方法。 wifiManager=(WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE); Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //监听器的意思就是,点击此按钮,就打开WIFI。 wifiManager.setWifiEnabled(true); } }); Button button1=(Button)findViewById(R.id.button2); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //此监听器为关闭WIFI。 wifiManager.setWifiEnabled(false); } });}@Override protected void onDestroy(){ super.onDestroy();//用unregisterReceiver()方法取消注册。 unregisterReceiver(maesReceiver); } //这是监听器类,这次没有单独创建一个接收器类,而是用的内部类的方式来呈现。 class MaesReceiver extends BroadcastReceiver { @Override public void onReceive(Context context,Intent intent){ ConnectivityManager connectivityManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo(); if (networkInfo!=null&& networkInfo.isAvailable()){ Toast.makeText(context,"网络已连接",Toast.LENGTH_SHORT).show(); }else { Toast.makeText(context,"网络未连接",Toast.LENGTH_SHORT).show(); } Log.d("TAG", "绑定成功!"); } } //以上两个按钮会改变当前的网络状态,我们创建了一个改变网络状态的广播接收器。//所以每当点击按钮,网络发生改变时,我们就能接收到广播了。
0 0
- Android之广播机制—动态注册
- Android之广播机制—静态注册
- Android相关浅析之动态注册广播
- Android广播之注册广播(包括静态广播和动态广播的注册)源码分析
- android 动态注册广播
- android动态注册广播
- Android动态注册广播
- Android广播机制——广播的注册
- Android之广播机制—自定义广播
- Android之广播机制—有序广播
- Android之广播机制—本地广播
- Android的广播机制注册
- 【Android】动态注册广播接收器
- 【Android】动态注册广播接收器
- 【Android】动态注册广播接收器
- android动态注册广播接收器
- Android动态注册广播接收器
- Android动态注册监听广播
- 数据结构Step by Step之树(1)- 二叉树 前序、中序、后序 LeetCode105根据前序中序的顺序构造树
- [Consul]Error starting agent: Failed to get advertise address: Multiple private IPs found.
- 第十章·优先级队列
- 提交任务的时候获取切片split信息的流程
- ul li宽度超出div宽度点击左右箭头移动
- Android之广播机制—动态注册
- Android之广播机制—自定义广播
- Android之广播机制—有序广播
- Android之广播机制—本地广播
- C++ transfrom的使用
- Hbase学习二
- android学习——网络访问HttpURLConnection
- Vijos-P1062-迎春舞会之交谊舞
- 实例分析JavaScript中的事件委托和事件绑定