Android如何以编程方式启用数据移动

时间:2016-05-27 12:39:40

标签: android mobile

我希望以编程方式禁用或启用移动数据。 这是我使用的方法:

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,如果它改变了什么。

有人知道吗?

0 个答案:

没有答案