如何在应用内禁用/启用移动数据(Android)

时间:2015-09-16 09:34:36

标签: java android xml mobile

我仍然相对较新的Android应用程序开发,但我试图创建一个应用程序,点击应用程序内的按钮切换互联网连接。有没有办法真正做到这一点,因为我没有在网上找到任何有关如何做到这一点的资源。 我已经包含了可能在应用程序清单中提供帮助的所有用户权限,但似乎无法使其正常工作。感谢。

1 个答案:

答案 0 :(得分:2)

此代码示例应适用于Android手机。 对于Android 2.3及更高版本:

private void setMobileDataEnabled(Context context, boolean enabled) {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field 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);}

还需要以下权限

<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

请按照以下网址获取更多说明。

修改

1:Enable/disable data connection in android programmatically

2:How can i turn off 3G/Data programmatically on Android?