Android 广播接收器BroadcastReceiver(二)
来源:互联网 发布:linux如何打开文件 编辑:程序博客网 时间:2024/04/28 00:19
上一节学到静态注册监听Android的系统广播,这节学习动态注册监听Android网络变化的系统广播。
1.创建监听类,用来监听广播。
public class NetWorkReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Toast.makeText(context, "你的网络状态改变了", Toast.LENGTH_SHORT).show(); }}
2.在Activity中动态注册
public class MainActivity extends Activity { private NetWorkReceiver mNetWorkReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(); filter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); mNetWorkReceiver = new NetWorkReceiver(); registerReceiver(mNetWorkReceiver, filter); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(mNetWorkReceiver); }}
在Activity创建的注册广播,在Activity销毁的时候注销广播。动态广播一定要记得注销,这样有利于Android资源的回收。如果你的广播只在程序前台运行时有效,可以在onResume中注册广播,在onPause中注销广播。
3.添加相应的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
这样一个监听网络状态变化的广播监听器就做好了。发布程序到模拟器中。点击home键(不能是back键,这样会调用onDestroy函数)。然后依次点击Settings、Wireless & networks、Mobile networks、Data enabled。打印的信息就显示出来了。
项目地址:明天更新
心记不如淡墨,哈哈。
0 0
- Android 广播接收器BroadcastReceiver(二)
- BroadCastReceiver android 广播接收器
- Android 广播接收器BroadcastReceiver
- android-----BroadcastReceiver广播接收器
- Android-BroadcastReceiver广播接收器
- Android 广播接收器(BroadcastReceiver)
- android BroadcastReceiver(广播接收器)【转载】
- Android-(广播接收器)BroadcastReceiver-2
- Android BroadcastReceiver广播接收器详解
- Android 广播接收器BroadcastReceiver(一)
- Android 广播接收器BroadcastReceiver(三)
- Android 广播接收器BroadcastReceiver(四)
- Android 广播接收器BroadcastReceiver(五)
- Android 广播接收器BroadcastReceiver(六)
- Android广播接收器(BroadcastReceiver)
- Android之BroadcastReceiver(Android中的广播接收器)
- Android基础知识--10.Android广播接收器BroadcastReceiver
- Android基础-broadcastreceiver(广播接收器)
- navicat 快捷键
- 一个try块和两个catch块
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——内核启动与文件系统挂载
- srvctl常用命令
- Cocos2d-x开发系列 交叉开发模式一 脚本支持
- Android 广播接收器BroadcastReceiver(二)
- java8日期API
- Android 6.0 最简单的权限获取方法 RxPermition EasyPermition
- 在Ubuntu上用命令创建你的第一个Qt程序
- C#调用C++的dll,PInvoke问题和回调函数抛出异常access violation
- Android xUtils3的使用及下载地址
- Glide 加载圆角、圆形图片
- Unity3d开发(十四) AssetBundle中的资源提取
- GCD