在具有root访问权限的Android L上禁用/启用移动数据

前端之家收集整理的这篇文章主要介绍了在具有root访问权限的Android L上禁用/启用移动数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个只有我将使用的一个小应用程序,我想务实地启用/禁用我的移动数据在一个根深蒂固的 Android 4.5设备(我运行一个定制的Android L为Nexus 4).

我已经找了一段时间,我发现反射的方法工作,直到Android 4.3.
我也看过这个帖子Toggle mobile data programmatically on Android 4.4.2方法,但这需要cyanogenmod.

从互联网上我可以找到这是不可能的非root应用程序,但我的问题是:

有什么我可以用我的root权限来完成这个吗?

解决方法

我在互联网上创建了这种方法;它可以根植于Android 5.0.1
基本上,如果您想要启用连接,否则必须传递true,否则为false,以及应用程序的上下文.
private final static String COMMAND_L_ON = "svc data enable\n ";
private final static String COMMAND_L_OFF = "svc data disable\n ";
private final static String COMMAND_SU = "su";

public static void setConnection(boolean enable,Context context){

    String command;
    if(enable)
        command = COMMAND_L_ON;
    else
        command = COMMAND_L_OFF;        

    try{
        Process su = Runtime.getRuntime().exec(COMMAND_SU);
        DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());

        outputStream.writeBytes(command);
        outputStream.flush();

        outputStream.writeBytes("exit\n");
        outputStream.flush();
        try {
            su.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        outputStream.close();
    }catch(IOException e){
        e.printStackTrace();
    }
}

请报告某些设备是否有问题.

编辑:现在也兼容android 5.1 Credit

原文链接:https://www.f2er.com/linux/400785.html

猜你在找的Linux相关文章