您的位置:首页 > 理论基础 > 计算机网络

Android 如何监听网络变化

2016-11-01 22:33 302 查看
一、如何新建一个简单的广播接收器
(1)注册广播的形式分为动态注册(代码中注册)和静态注册(AndroidMainfest.xml中注册);
(2)新建一个广播接收器来接收广播,广播接收器有一个父类需要继承BroadcastReceiver;
//Intent过滤器
private IntentFilter intentFilter;
//网络变化广播接收器
private NetWorkChangeReceiver netWorkChangeReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intentFilter = new IntentFilter();
//添加需要过滤的Action到IntentFilter
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
netWorkChangeReceiver = new NetWorkChangeReceiver();
//注册广播接收器
registerReceiver(netWorkChangeReceiver, intentFilter);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}

class NetWorkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//如果网络变化,输出network changes
Toast.makeText(context, "network changes", Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
//取消注册
unregisterReceiver(netWorkChangeReceiver);
}



二、运行效果图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android