我正在创建一个应该设置CPU Scaling Governor的简单Android应用程序。
为实现这一目标,我做了这个功能:
public static void setCurrentGovernor(String governor){
Process process;
try{
String cpufreq_path= "/sys/devices/system/cpu/cpu0/cpufreq";
String cmd = "echo `"+governor+"` > "+cpufreq_path+"/scaling_governor ";
process = Runtime.getRuntime().exec(new String[] {"su","-c",cmd});
} catch(IOException e){
e.printStackTrace();
}
}
我的问题是这个功能不起作用,加上超级用户总是提示我输入权限,有没有办法只在第一次应用启动时给它root权限?
这个函数在一个微调器的onitemselectedlistener里面调用,在这个函数之后还有一个从cpufreq文件中获取数据来更新视图,但如果我cat scaling_governor
我得到了旧的调控器,那么它就是没有错误的更新功能。