Android开发中对于适时进行网络状态的获取
来源:互联网 发布:jquery数组push 编辑:程序博客网 时间:2024/05/16 05:39
Android开发中对于适时进行网络状态的获取
ps:这是我的第一次博客之旅,对于很多不足之处还望包容,谢谢各位亲们的理解。
在Android开发中涉及到网络访问时,时常需要进行网络状态的检查,一般可以通过ConnectivityManager来完成该工作。
适时监听网络变化功能的步骤:
1.定义一个Receiver重写其中的onReceive方法,在其中完成所需要的功能
public class NetworkReceiver extends BroadcastReceiver{
@Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)){ ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = manager.getActiveNetworkInfo(); int type = -1; if(networkInfo != null && networkInfo.isAvailable()){ type = networkInfo.getType(); onNetworkChange(type); } } }} public void onNetworkChange(int type) { switch (type) { case ConnectivityManager.TYPE_WIFI: Toast.makeText(this, "TYPE_WIFI", 0).show(); break; case ConnectivityManager.TYPE_MOBILE: Toast.makeText(this, "TYPE_MOBILE", 0).show(); break; case ConnectivityManager.TYPE_ETHERNET: Toast.makeText(this, "TYPE_ETHERNET", 0).show(); break; default: Toast.makeText(this, "TYPE_NONE", 0).show(); break; } }
2.在适当的地方注册Receiver,可以在程序中注册,在onCreate中调用如下函数即可:
private void registerReceiver() {
NetworkReceiver receiver = new NetworkReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(receiver, filter );
}
3、在适当时取消注册Receiver,可以在程序中取消,在onDestroye中调用如下函数即可:
private void unregisterReceiver() {
if(receiver != null){
unregisterReceiver(receiver);
}
}
4、记得添加访问网络需要的权限
- Android开发中对于适时进行网络状态的获取
- MTK Android拨打电话如何获取适时状态
- Android网络状态的获取
- android开发 获取网络状态---苏苏的小弟子
- Android获取网络状态
- Android获取网络状态
- android 获取网络状态
- Android 获取网络状态
- Android获取网络状态
- Android获取网络状态
- Android中getSystemService介绍,获取系统的运行状态,判断当前网络状态
- android获取手机的网络状态
- Android 获取网络状态的工具类
- Android 获取网络状态的工具类
- android 获取手机的网络状态
- 对于Android开发中添加网络请求方式的浅解
- Android游戏中获取电话的状态来进行游戏的暂停和继续
- Myeclipse中进行SSH开发碰到的问题(对于初学者)
- 智能指针之scopedptr
- 内核态和用户态
- hexo+github快速搭建个人博客
- js变量、数组、对象
- STM32CubeMX生成基于Eclipse的GCC工程(二)(移植FreeRTOS操作系统)
- Android开发中对于适时进行网络状态的获取
- Andriod 自定义控件之创建可以复用的组合控件
- C#160课的主要内容
- 最后一次
- linux下的命令
- Python学习9-面向对象编程
- Andriod 自定义控件之音频条
- Problem C: 点在圆内吗?
- 【tyvj1313】烽火传递(单调队列优化dp)