package com.tyh;
import java.lang.reflect.Method;
import android.content.Context;
import android.net.ConnectivityManager;
import android.widget.Toast;
public class APNSetting {
private boolean isMobileDataEnable;
private ConnectivityManager mConnectivityManager;
private NetWorkSettingActivity network;
/**
* @author tyh
* qq:2576318211 欢迎交流
* */
public APNSetting(NetWorkSettingActivity networxt){
this.network = networxt;
mConnectivityManager = (ConnectivityManager) networxt.getSystemService(Context.CONNECTIVITY_SERVICE);
try {
Object[] arg = null;
isMobileDataEnable = (Boolean) invokeMethod("getMobileDataEnabled", arg);
} catch (Exception e) {
e.printStackTrace();
}
}
//开启网络
public void APNchange(){
try {
invokeBooleanArgMethod("setMobileDataEnabled", !isMobileDataEnable);
isMobileDataEnable = !isMobileDataEnable;
} catch (Exception e) {
e.printStackTrace();
}
}
public Object invokeMethod(String methodName,
Object[] arg) throws Exception {
Class ownerClass = mConnectivityManager.getClass();
Class[] argsClass = null;
if (arg != null) {
argsClass = new Class[1];
argsClass[0] = arg.getClass();
}
Method method = ownerClass.getMethod(methodName, argsClass);
return method.invoke(mConnectivityManager, arg);
}
public Object invokeBooleanArgMethod(String methodName,
boolean value) throws Exception {
Class ownerClass = mConnectivityManager.getClass();
Class[] argsClass = new Class[1];
argsClass[0] = boolean.class;
Method method = ownerClass.getMethod(methodName,argsClass);
return method.invoke(mConnectivityManager, value);
}
}