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

Android判断是否有网络连接,如果没有开启移动网络

2016-04-01 17:47 483 查看
判断是否有网络连接代码:

public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}


开启网络连接:

public final void setMobileNetEnable() {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

Object[] arg = null;
try {
boolean isMobileDataEnable = invokeMethod("getMobileDataEnabled",
arg);
if (!isMobileDataEnable) {
invokeBooleanArgMethod("setMobileDataEnabled", true);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public boolean invokeMethod(String methodName, Object[] arg)
throws Exception {

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

Class ownerClass = mConnectivityManager.getClass();

Class[] argsClass = null;
if (arg != null) {
argsClass = new Class[1];
argsClass[0] = arg.getClass();
}

Method method = ownerClass.getMethod(methodName, argsClass);

Boolean isOpen = (Boolean) method.invoke(mConnectivityManager, arg);

return isOpen;
}

public Object invokeBooleanArgMethod(String methodName, boolean value)
throws Exception {

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

Class ownerClass = mConnectivityManager.getClass();

Class[] argsClass = new Class[1];
argsClass[0] = boolean.class;

Method method = ownerClass.getMethod(methodName, argsClass);

return method.invoke(mConnectivityManager, value);
}


源码下载地址:http://download.csdn.net/detail/qq_23255751/9479242
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 移动 网络