在Android中以编程方式使用screencap时保存空白文件

use*_*887 6 android screenshot screen

代码段

void takeSnapShot() 
    {
        Process process = null;
        try
        {
        process = Runtime.getRuntime().exec("/system/bin/screencap -p /sdcard/snapshot/test_2.png" );

        try
        {
            process.waitFor();
        } catch (InterruptedException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }




    }
Run Code Online (Sandbox Code Playgroud)

我得到一个空文件保存,而如果我通过adb shell使用相同的命令,我得到我的屏幕捕获.

任何帮助都将是值得赞赏的

tbk*_*n23 0

编辑:我之前的答案是错误的,任何应用程序都可以使用屏幕捕获命令。

这可能是一个权限问题。您确定您有写入SD卡的权限吗?查看这篇文章,其中涵盖了您的主题: 如何在没有 root 权限的情况下运行 Android 系统应用程序?