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

Android基础 —— 网络连接操作NetWork

2015-04-16 16:54 337 查看
在进行android开发时经常回用到对网络的判断和设置,下面是对网络NetWork进行的简单封装,可以在实际中直接调用。

1、在清单文件中添加权限。

<!-- 添加NETWORK 权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


2、对网络NetWork进行操作类

package com.pactera.ishop.net;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

/**
* 判断网络是否可用 ,如果可用可调用方法检测当前网络类型
*/
public class NetWorkUtils {

public static final int NETTYPE_WIFI = 0x01;
public static final int NETTYPE_CMNET = 0x02;

/**
* 检测网络是否可用
* @return 返回类型为 Boolean , true : 网络可用 , false : 当前网络不可用
*/
public static boolean isNetworkConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni != null && ni.isConnectedOrConnecting();
}

/**
* 获取当前网络类型
* @return 0:没有网络   1:WIFI网络   2:NET网络
*/
public static int getNetworkType(Context context) {
int netType = 0;
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo == null) {
return netType;
}
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE) {
netType = NETTYPE_CMNET;
} else if (nType == ConnectivityManager.TYPE_WIFI) {
netType = NETTYPE_WIFI;
}
return netType;
}

/**
*
* @param netWorkIntent Intent对象
* @return 可控制打开NewWork 设置的Intent
*/
public static Intent getNewWorkSetingIntent(Intent intent)
{
if(intent != null)
{
ComponentName mCName = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
intent.setComponent(mCName);
intent.setAction("android.intent.action.VIEW");
return intent;
}
return null;
}
}


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