【发布时间】:2016-11-07 11:26:47
【问题描述】:
我有一个奇怪的问题。上周,我的代码工作起来就像一个魅力。我正在使用有根的平板电脑,我正在从代码中设置调试模式,但不知道为什么,我今天早上运行了我的应用程序,而我用来执行此操作的命令不再起作用,我得到“权限拒绝等。”但是,当我从设备的终端键入命令时,它可以工作......有什么帮助吗?
private void grantPermission(){
try {
Process suProcess = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());
Log.e("PACKAGE", getPackageName());
os.writeBytes("adb shell" + "\n");
os.flush();
os.writeBytes("pm grant "+getPackageName()+" android.permission.CHANGE_CONFIGURATION" + "\n");
os.flush();
os.writeBytes("pm grant "+getPackageName()+" android.permission.WRITE_SECURE_SETTINGS" + "\n");
os.flush();
} catch (Exception e){
e.printStackTrace();
Log.e("SETTINGS", "FAIL");
}
}
【问题讨论】:
-
它曾经在代码中工作过吗?也是先手动设置后又能正常工作吗?
-
是的,是的,是的……
标签: android shell authorization adb