为当前屏幕View运行shell命令(“su”)

时间:2014-01-08 11:16:59

标签: android shell

我正在尝试从Android应用程序执行shell脚本以获取当前屏幕视图。 我有以下代码仅在root设备上正常工作。

    Process sh = null;
    try
    {
        Thread thread=new Thread(new Threadcalling ());
        thread.start();

        sh = Runtime.getRuntime().exec("su");
        OutputStream  os = sh.getOutputStream();
        os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
        os.flush();
        os.close();
        sh.waitFor();
    }
    catch (Exception e){}

我应该做哪些修改才能在非root设备上获取屏幕视图。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

您无法为非root设备执行此操作,换句话说,您的应用成为系统应用以访问其他系统应用。

编辑:也许此链接可能对您有所帮助: https://code.google.com/p/android-screenshot-library/