做APN开关是遇到问题ConnectivityManager mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
mConnectivityManager.setMobileDataEnabled(true);setMobileDataEnabled 提示错误
The method setMobileDataEnabled(boolean) is undefined for the type ConnectivityManager
网上找了是此方法被隐藏.改怎么调用啊?
mConnectivityManager.setMobileDataEnabled(true);setMobileDataEnabled 提示错误
The method setMobileDataEnabled(boolean) is undefined for the type ConnectivityManager
网上找了是此方法被隐藏.改怎么调用啊?
java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS可是我已经加了还是一样提示这啊
啊啊啊啊啊.!!!各位大虾.帮帮忙.!
03-28 17:41:56.150: W/System.err(9429): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 17:41:56.150: W/System.err(9429): at java.lang.reflect.Method.invoke(Method.java:521)
03-28 17:41:56.150: W/System.err(9429): at com.sumq.APNTestActivity.setMobileDataEnabled(APNTestActivity.java:308)
03-28 17:41:56.150: W/System.err(9429): at com.sumq.APNTestActivity.access$0(APNTestActivity.java:296)
03-28 17:41:56.150: W/System.err(9429): at com.sumq.APNTestActivity$2.onClick(APNTestActivity.java:67)
03-28 17:41:56.150: W/System.err(9429): at android.view.View.performClick(View.java:2464)
03-28 17:41:56.150: W/System.err(9429): at android.view.View$PerformClick.run(View.java:8930)
03-28 17:41:56.154: W/System.err(9429): at android.os.Handler.handleCallback(Handler.java:587)
03-28 17:41:56.154: W/System.err(9429): at android.os.Handler.dispatchMessage(Handler.java:92)
03-28 17:41:56.154: W/System.err(9429): at android.os.Looper.loop(Looper.java:123)
03-28 17:41:56.154: W/System.err(9429): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-28 17:41:56.154: W/System.err(9429): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 17:41:56.154: W/System.err(9429): at java.lang.reflect.Method.invoke(Method.java:521)
03-28 17:41:56.154: W/System.err(9429): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
03-28 17:41:56.154: W/System.err(9429): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-28 17:41:56.154: W/System.err(9429): at dalvik.system.NativeStart.main(Native Method)
03-28 17:41:56.154: W/System.err(9429): Caused by: java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
03-28 17:41:56.158: W/System.err(9429): at android.os.Parcel.readException(Parcel.java:1260)
03-28 17:41:56.158: W/System.err(9429): at android.os.Parcel.readException(Parcel.java:1248)
03-28 17:41:56.158: W/System.err(9429): at android.net.IConnectivityManager$Stub$Proxy.setMobileDataEnabled(IConnectivityManager.java:627)
03-28 17:41:56.158: W/System.err(9429): ... 16 more
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
Field iConnectivityManagerField;
try {
final Class conmanClass = Class.forName(conman.getClass().getName());
iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}