【问题标题】:Why program still don't take screenshot after getting "su"?为什么程序得到“su”后仍然不截图?
【发布时间】:2013-03-16 22:07:38
【问题描述】:

我按下按钮并程序获取 SU,但 png 文件的重量为 0 字节。 Logcat 说

权限被拒绝:无法读取帧缓冲区 pid=12844 uid=10087。

那么为什么会这样。我的手机已经root了,程序已经得到了su。怎么了?

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();
                }
            }
        });

【问题讨论】:

  • 找到working code。他的回答真的很有帮助。谢谢!

标签: android screenshot root framebuffer su


【解决方案1】:

你应该使用这个,它应该有更好的支持:

@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){
 };
};

【讨论】:

  • 您运行的是哪个 Android 版本以及哪个制造商的
  • 索尼爱立信 Live With Walkman,操作系统 Android 4.0.4 (Cyanogenmod 9.1.0)
  • 您可以尝试在您的电脑上执行“adb shell /system/bin/screencap -p /sdcard/s.png”吗?如果那也不起作用,那就是索尼的错;)
  • “adb shell /system/bin/screencap -p /sdcard/s.png”正在工作
  • 对不起,这是我的错。您的代码正在运行。我刚刚看到图像的缩略图损坏,并认为它正在截取空白屏幕截图。但它不是。这是正常的。谢谢!
【解决方案2】:

试试这个:

        @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();
            }
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 2015-02-18
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多