gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:34 26 4
gpt4 key购买 nike

我正在编写一个只有我会使用的小应用程序,我想实用地在 root 的 android 4.5 设备上启用/禁用我的移动数据(我正在为 Nexus 4 运行自定义 Android L)。

我找了一段时间,我发现了在 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

关于android - 在具有根访问权限的 Android L 上禁用/启用移动数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com