如何在Android 2.3上启用数据连接

时间:2011-12-02 09:56:07

标签: android

参考How to disable Mobile Data on Android,我们知道通过java反射在Android 2.2中启用/禁用数据连接的方法。 但是,在Android 2.3及更高版本中,android.permission.MODIFY_PHONE_STATE不再受支持,我发现上述方法在Android 2.3中无效。您还有其他想法来启用数据连接吗?

3 个答案:

答案 0 :(得分:10)

ConnectivityManager mgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
Method dataMtd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
dataMtd.setAccessible(true);
dataMtd.invoke(mgr, true/false); 

您还需要 android.permission.CHANGE_NETWORK_STATE 权限

答案 1 :(得分:2)

您还需要添加

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

到manifest.xml

答案 2 :(得分:0)

在你的androidmanifest.xml中:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />