Android - 小功能 - Android--判断网络连接状态
来源:互联网 发布:win to go mac 编辑:程序博客网 时间:2024/05/17 12:25
前言:我这个人比较懒,我其实不喜欢写博客,之所以写出来,只是为了有时候忘记了,可以有地方直接看,不需要满互联网的瞎找,
所以写出来的博客质量一般都是用代码说话,一般都会有注释啥的
内容:今天主要是提供判断网络连接状态的方法,可以直接用,这个倒是部分版本的
题外话:貌似前段时间4.4版本中出了ART模式,据我上网看论坛,经过大家的一直反应都是流畅无明显提升,普通应用和dalvik打开的速度差不多,游戏的开启速度会快上一些,但是发热也偏严重,而且目前对有些应用不太兼容,容易让机子有崩溃的冲动,个人建议坐等新版本出来,也好让市场上的应用有响应的缓冲时间,这样上手的体验也会更好
代码:
package com.android.service;
import com.android.until.NetState;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo.State;
import android.util.Log;
import android.widget.Toast;
//ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
public class NetChangeReceiver extends BroadcastReceiver {
@SuppressWarnings("static-access")
@Override
public void onReceive(Context context, Intent intent) {
// 获得网络连接服务
ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
// State state = connManager.getActiveNetworkInfo().getState();
State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState(); // 获取网络连接状态
if (State.CONNECTED == state) { // 判断是否正在使用WIFI网络
Toast.makeText(context, "wifi网络可用", Toast.LENGTH_LONG).show();
NetState.getInstance().setWifiState(true);
} else if (state == State.CONNECTING) {
Toast.makeText(context, "wifi正在连接", Toast.LENGTH_LONG).show();
NetState.getInstance().setWifiState(false);
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState(); // 获取网络连接状态
if (State.CONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(true);
} else if (State.DISCONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(false);
}
} else if (state == State.DISCONNECTED) {
Toast.makeText(context, "wifi不可用", Toast.LENGTH_LONG).show();
NetState.getInstance().setWifiState(false);
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState(); // 获取网络连接状态
if (State.CONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(true);
Toast.makeText(context, "2G/3G网络可用", Toast.LENGTH_LONG).show();
} else if (State.DISCONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(false);
Toast.makeText(context, "2G/3G网络不可用", Toast.LENGTH_LONG).show();
state = connManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).getState(); // 获取网络连接状态
if (State.CONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(true);
Toast.makeText(context, "2G/3G网络可用", Toast.LENGTH_LONG)
.show();
} else if (State.DISCONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(false);
Toast.makeText(context, "2G/3G网络不可用", Toast.LENGTH_LONG)
.show();
}
}
} else if (state == State.DISCONNECTING) {
Toast.makeText(context, "wifi断开断开中", Toast.LENGTH_LONG).show();
NetState.getInstance().setWifiState(false);
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState(); // 获取网络连接状态
if (State.CONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(true);
} else if (State.DISCONNECTED == state) { // 判断是否正在使用GPRS网络
NetState.getInstance().getInstance().setGprsState(false);
}
}
if (!NetState.getInstance().getInstance().isGprsState()
&& !NetState.getInstance().getInstance().isWifiState()) {
Toast.makeText(context, "您的网络连接已中断", Toast.LENGTH_LONG).show();
}
}
}
- Android - 小功能 - Android--判断网络连接状态
- Android功能模块化之网络连接状态判断
- android --- 判断网络连接状态
- Android 判断网络连接状态
- Android 判断网络连接状态
- android 判断网络连接状态
- Android 判断网络连接状态
- Android 判断网络连接状态
- android判断网络连接状态
- android判断网络连接状态
- Android 判断网络连接状态
- android 判断手机网络连接状态
- Android中判断网络连接状态
- android(java) socket判断网络连接状态
- android 网络连接状态判断与数据类型
- android(java) socket判断网络连接状态
- Android 判断当前网络连接状态
- android设备判断网络连接状态
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结 详细出处参考:http://www.jb51.net/LINUXjishu/43356.html
- ZOJ 3209 Treasure Map 解题报告(Dancing Link)
- OCP-1Z0-051 第54题
- 文字滚动效果
- Structure from motion学习笔记(一)
- Android - 小功能 - Android--判断网络连接状态
- 第03讲-自顶向下风格_编程
- vim编辑器
- codeigniter源代码分析 - 编码类 Utf8.php
- 分布式消息系统Jafka入门指南之二
- jquery原理的简单分析,让你扒开jquery的小外套
- Centos6.5 安装 gcc4.7
- ssh问题:ssh_exchange_identification: Connection closed by remote host...
- The method getResources() is undefined for the type