android wifi 工具类,android 网络判断工具类(APN+WIFI)

public class NetWorkHelper {

private static String LOG_TAG = "NetWorkHelper";

public static Uri uri = Uri.parse("content://telephony/carriers");

/**

* 判断是否有网络连接

*/

public static boolean isNetworkAvailable(Context context) {

ConnectivityManager connectivity = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivity == null) {

Log.w(LOG_TAG, "couldn't get connectivity manager");

} else {

NetworkInfo[] info = connectivity.getAllNetworkInfo();

if (info != null) {

for (int i = 0; i < info.length; i++) {

if (info[i].isAvailable()) {

Log.d(LOG_TAG, "network is available");

return true;

}

}

}

}

Log.d(LOG_TAG, "network is not available");

return false;

}

public static boolean checkNetState(Context context){

boolean netstate = false;

ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

if(connectivity != null)

{

NetworkInfo[] info = connectivity.getAllNetworkInfo();

if (info != null) {

for (int i = 0; i < info.length; i++)

{

if (info[i].getState() == NetworkInfo.State.CONNECTED)

{

netstate = true;

break;

}

}

}

}

return netstate;

}

/**

* 判断网络是否为漫游

*/

public static boolean isNetworkRoaming(Context context) {

ConnectivityManager connectivity = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivity == null) {

Log.w(LOG_TAG, "couldn't get connectivity manager");

} else {

NetworkInfo info = connectivity.getActiveNetworkInfo();

if (info != null

&& info.getType() == ConnectivityManager.TYPE_MOBILE) {

TelephonyManager tm = (TelephonyManager) context

.getSystemService(Context.TELEPHONY_SERVICE);

if (tm != null && tm.isNetworkRoaming()) {

Log.d(LOG_TAG, "network is roaming");

return true;

} else {

Log.d(LOG_TAG, "network is not roaming");

}

} else {

Log.d(LOG_TAG, "not using mobile network");

}

}

return false;

}

/**

* 判断MOBILE网络是否可用

*

* @param context

* @return

* @throws Exception

*/

public static boolean isMobileDataEnable(Context context) throws Exception {

ConnectivityManager connectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

boolean isMobileDataEnable = false;

isMobileDataEnable = connectivityManager.getNetworkInfo(

ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

return isMobileDataEnable;

}

/**

* 判断wifi 是否可用

* @param context

* @return

* @throws Exception

*/

public static boolean isWifiDataEnable(Context context) throws Exception {

ConnectivityManager connectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

boolean isWifiDataEnable = false;

isWifiDataEnable = connectivityManager.getNetworkInfo(

ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

return isWifiDataEnable;

}

/**

* 设置Mobile网络开关

*

* @param context

* @param enabled

* @throws Exception

*/

public static void setMobileDataEnabled(Context context, boolean enabled)

throws Exception {

APNManager apnManager=APNManager.getInstance(context);

List list = apnManager.getAPNList();

if (enabled) {

for (APN apn : list) {

ContentValues cv = new ContentValues();

cv.put("apn", apnManager.matchAPN(apn.apn));

cv.put("type", apnManager.matchAPN(apn.type));

context.getContentResolver().update(uri, cv, "_id=?",

new String[] { apn.apnId });

}

} else {

for (APN apn : list) {

ContentValues cv = new ContentValues();

cv.put("apn", apnManager.matchAPN(apn.apn) + "mdev");

cv.put("type", apnManager.matchAPN(apn.type) + "mdev");

context.getContentResolver().update(uri, cv, "_id=?",

new String[] { apn.apnId });

}

}

}

}

标签:

网络

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点!

本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值