【发布时间】:2015-11-05 18:03:44
【问题描述】:
我正在创建一个需要更改数据连接的应用。
我找到了解决方案:使用 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());
}
}
}
【问题讨论】:
标签: android connection su