在Android中编程使用screencap时,将保存空白文件
代码片段在Android中编程使用screencap时,将保存空白文件,android,screen,screenshot,Android,Screen,Screenshot,代码片段 void takeSnapShot() { Process process = null; try { process = Runtime.getRuntime().exec("/system/bin/screencap -p /sdcard/snapshot/test_2.png" ); try { process.waitFor();
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();
}
}
我保存了一个空文件,但是如果通过adb shell使用相同的命令,我会捕获屏幕
任何帮助都是值得欣赏的编辑:我以前的回答是错误的,任何应用程序都可以使用屏幕捕获命令 这可能是权限问题。你确定你有写SD卡的权限吗? 查看这篇文章,它涵盖了你的主题:
我通过在清单中添加以下权限解决了这个问题
<uses-permission
android:name="android.permission.READ_FRAME_BUFFER"
tools:ignore="ProtectedPermissions"/>
注意:这是一个受保护的权限,我的应用程序是一个系统应用程序,并且使用平台密钥进行签名