[英]Take Screenshot of Android screen and save to SD card
关于捕获Android应用程序的屏幕截图,这里有几个问题。 但是,我还没有找到一个关于如何使用android SDK或任何其他方法以编程方式截取屏幕截图的可靠解决方案。
所以我想我会再次提出这个问题,希望能找到一个好的解决方案,希望能够捕获可以保存到SD卡或类似地方的全长图像。
我提供任何帮助
monkeyrunner工具可以用adb命令,[python脚本]为你做的工作
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
//waits for connection
device = MonkeyRunner.waitForConnection()
//take the current snapshot
device.takeSnapshot()
//stores the current snapshot in current dir in pc
device.writeToFile('current.png')\
//copy it to the sd card of device
os.subprocess.call('adb push current.png /sdcard/android/com.test.myapp/current.png')
注意:调用此jython脚本文件
monkeyrunner.bat <文件名>
你很可能对这个答案不满意,但我见过的唯一一个涉及使用本机代码或执行本机命令。
编辑:我以前没见过这个。 你试过吗?: http : //code.google.com/p/android-screenshot-library/
Edit2:检查了那个库,这也是一个糟糕的解决方案。 需要您从PC启动服务。 所以我最初的答案仍然是:)
编辑3:您应该能够通过执行与此类似的操作将视图另存为图像。 您可能需要稍微调整一下,以便获得视图的宽度/高度。 (我正在给布局充气,并在布局代码时指定宽度/高度)
View content = getView();
Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
File file = new File(pathAndFilename);
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.PNG, 100, ostream);
ostream.close();
你可以查看http://codaset.com/jens-riboe/droidatscreen/wiki (在http://blog.ribomation.com/2010/01/droidscreen/上写一下):这是一个使用的Java库adb
捕获屏幕截图。 我已经能够(用大量的肘部油脂)修改源,让我自动捕捉定时系列的屏幕截图(我用于演示视频)。
您可以在http://pastebin.com/hX5rQsSR上看到类结构
编辑:您将调用它(在捆绑所有要求后),如下所示:
java -cp DroidScreen.jar --adb“” - device“” - prefix“” - interval
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.