我按下按钮并编程获取SU,但是png文件是0字节权重。 Logcat说
权限被拒绝:无法读取framebuffer pid = 12844 uid = 10087。
那为什么会这样呢。我的手机扎根了,程序已经搞定了。怎么了?
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener (new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
Process process = Runtime.getRuntime().exec("su");
Process pr = Runtime.getRuntime().exec("/system/bin/screencap -p /sdcard/s.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
答案 0 :(得分:2)
你应该使用这个,它应该有更好的支持:
@Override
public void onCLick(View v)
try{
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("/system/bin/screencap -p /sdcard/s.png\n");
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();
} catch (Exception e){
};
};
答案 1 :(得分:0)
试试这个:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
Runtime.getRuntime().exec("su -c /system/bin/screencap -p /sdcard/s.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});