爲了澄清,我用這個代碼來獲得超級用戶權限我的應用程序,所以我可以訪問根和諸如此類的東西:對應用程序的Android「永久」超級用戶權限?
public String runProcess(String[] functs) {
DataOutputStream dos;
DataInputStream dis;
StringBuffer contents = new StringBuffer("");
String tempInput;
Process process;
try {
process = Runtime.getRuntime().exec(functs);
dos = new DataOutputStream(process.getOutputStream());
dis = new DataInputStream(process.getInputStream());
for (String command : functs) {
dos.writeBytes(command + "\n");
dos.flush();
while ((tempInput = dis.readLine()) != null)
contents.append(tempInput + "\n");
}
dos.writeBytes("exit\n");
dos.flush();
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
return contents.toString();
}
雖然它工作得很好,只要我把它runProcess(new String[] { "su", "-c", "some other command" });
總是詢問超級用戶權限。我看到市場上的很多root應用程序只需在應用程序的每次啓動時都獲得超級用戶權限,但我不認爲每次應用程序調用某個函數時都需要向用戶請求超級用戶權限這需要SU。所以我的問題是,我將如何提示用戶在應用程序啓動時給予我一次SU權限,而不必爲每個SU相關操作不斷要求它?編輯:我知道我可以運行我的方法/ Runtime.getRuntime()。exec()方法,而不是每次都在其中鍵入「su」,但只能與非su相關的操作一起使用(即exec(「ps 「)或者exec(」 LS「)。任何想法?
我看不到它回答了這個問題,只是提供了工具,你能做的更具體嗎? – JPM
嗨,它阻止窗口要求獲得超級用戶權限?它是否與kitkat(4.4.2)一起使用? – ransh