我希望以编程方式禁用或启用移动数据。 这是我使用的方法:
private void setMobileData (boolean enabled, Context context)
{
try
{
final ConnectivityManager connectivityManager = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
final Class connectivityManagerClass = Class.forName(connectivityManager.getClass().getName());
final Field connectivityManagerClassField = connectivityManagerClass.getDeclaredField("mService");
connectivityManagerClassField.setAccessible(true);
final Object iConnectivityManager = connectivityManagerClassField.get(connectivityManager);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
}
catch (Exception e)
{
}
}
当我点击按钮打开/关闭移动数据时,它什么都不做。 我有android 6.0,如果它改变了什么。
有人知道吗?