Android Lollipop root 中的 on/off 数据连接是否可行?

Is possible turn on/off data connection in Android Lollipop rooted?

我正在创建一个需要更改数据连接的应用程序。 我找到了一个解决方案:使用 su 命令,但问题是每次执行命令时都会显示 Toast 警告.... 是否可以在没有 toast 警告的情况下使用这些命令?
要么
有没有办法使用反射切换 TelephonyManager 启用的数据连接?我试过了,但没有用。

我的代码如下:

public static void setMobileDataState(boolean mMobileDataEnabled){

    try{
        if(mMobileDataEnabled)
            Shell.runAsRoot(new String[]{"svc data enable"});
        else
            Shell.runAsRoot(new String[]{"svc data disable"});
    }
    catch (Exception ex){
        Utilities.log(ex.toString());
    }

}



public class Shell {

public static void runAsRoot(String[] mCommands){

    try {
        Process mProcess = Runtime.getRuntime().exec("su");
        DataOutputStream mOS = new DataOutputStream(mProcess.getOutputStream());
        for (String mCommand : mCommands) {
            mOS.writeBytes(mCommand + "\n");
        }
        mOS.writeBytes("exit\n");
        mOS.flush();

    }catch (Exception o){
        Utilities.log(o.toString());
    }

}
}

我找到了解决方案..... 我做了以下事情:

  1. 我对我的设备进行了 root
  2. 我将我的应用程序安装为系统应用程序,很简单,只需将您的apk 复制到/system/priv-app/myApk.apk 并设置chmod 644 权限即可。如果您有疑问,请查看此 post ().
  3. 刚刚删除了/system/app/SuperSU文件夹
  4. 我在设备上恢复了出厂设置,仅此而已..... =D