network: android 网络判断
来源:互联网 发布:淘宝晒单怎么晒 编辑:程序博客网 时间:2024/05/18 01:31
直接上代码,没有什么好说的!
- package mark.zhang;
- import java.util.List;
- import android.content.Context;
- import android.location.LocationManager;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.telephony.TelephonyManager;
- public class NetworkProber {
- /**
- * 网络是否可用
- *
- * @param activity
- * @return
- */
- public static boolean isNetworkAvailable(Context context) {
- ConnectivityManager connectivity = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivity == null) {
- } else {
- NetworkInfo[] info = connectivity.getAllNetworkInfo();
- if (info != null) {
- for (int i = 0; i < info.length; i++) {
- if (info[i].getState() == NetworkInfo.State.CONNECTED) {
- return true;
- }
- }
- }
- }
- return false;
- }
- /**
- * Gps是否打开
- *
- * @param context
- * @return
- */
- public static boolean isGpsEnabled(Context context) {
- LocationManager locationManager = ((LocationManager) context
- .getSystemService(Context.LOCATION_SERVICE));
- List<String> accessibleProviders = locationManager.getProviders(true);
- return accessibleProviders != null && accessibleProviders.size() > 0;
- }
- /**
- * wifi是否打开
- */
- public static boolean isWifiEnabled(Context context) {
- ConnectivityManager mgrConn = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- TelephonyManager mgrTel = (TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE);
- return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
- .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
- .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
- }
- /**
- * 判断当前网络是否是wifi网络
- * if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) { //判断3G网
- *
- * @param context
- * @return boolean
- */
- public static boolean isWifi(Context context) {
- ConnectivityManager connectivityManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
- if (activeNetInfo != null
- && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
- return true;
- }
- return false;
- }
- /**
- * 判断当前网络是否是3G网络
- *
- * @param context
- * @return boolean
- */
- public static boolean is3G(Context context) {
- ConnectivityManager connectivityManager = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
- if (activeNetInfo != null
- && activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
- return true;
- }
- return false;
- }
- }
另外还有两个方法判断网络是否可用:
- public static boolean isNetworkAvailable_00(Context context) {
- ConnectivityManager cm = ((ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE));
- if (cm != null) {
- NetworkInfo info = cm.getActiveNetworkInfo();
- if (info != null && info.isConnectedOrConnecting()) {
- return true;
- }
- }
- return false;
- }
- public static boolean isNetworkAvailable_01(Context context) {
- ConnectivityManager cm = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo network = cm.getActiveNetworkInfo();
- if (network != null) {
- return network.isAvailable();
- }
- return false;
- }
更加严谨的写法:
- public static boolean checkNet(Context context) {
- try {
- ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivity != null) {
- NetworkInfo info = connectivity.getActiveNetworkInfo();
- if (info != null && info.isConnected()) {
- if (info.getState() == NetworkInfo.State.CONNECTED) {
- return true;
- }
- }
- }
- } catch (Exception e) {
- return false;
- }
- return false;
- }
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- network: android 网络判断
- 网络[通信] network判断
- network: Android 网络判断(wifi、3G与其他)
- network: Android 网络判断(wifi、3G与其他)
- network: Android 网络判断(wifi、3G与其他)
- network: Android 网络判断(wifi、3G与其他)
- network: Android 网络判断(wifi、3G与其他)
- 【Android】【Network】Android 网络
- android network网络编程
- Android network 手机网络
- 寒假集训作业(8)——数学问题
- 用SQL语句添加删除修改字段
- Upatepanel的基本使用
- POJ 2002 快速查找
- C/C++字符串查找函数
- network: android 网络判断
- URAL 1931 Excellent Team
- android EditText 设置弹出数字输入法键盘
- PT与PX区别
- 取出dll的接口函数
- 仿微信的语音点击播放时的语音图标动画效果
- OAF Sample Code
- 一年成为Emacs高手更新至20130129版
- SVN被代理 RA layer request failed svn could not connect to server