以全屏幕截图编程 [英] Take screenshot programmatically of the whole screen
本文介绍了以全屏幕截图编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要带截图如下:
public static Bitmap takeScreenshot(Activity activity) {
View view = activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
Rect rect = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int statusBarHeight = rect.top;
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
int height = activity.getWindowManager().getDefaultDisplay().getHeight();
Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, statusBarHeight, width,
height - statusBarHeight);
view.destroyDrawingCache();
return bitmap2;
}
但是,在我的布局EDITTEXT。我点击它,键盘弹出,但使用这种方式的截图中不包含键盘。我如何可以采取截图编程也还可以捕获键盘?
But there is a Edittext in my layout. I click it and keyboard pop up, but screenshot doesn't contain keyboard using this way. How can I take screenshot programmatically also which can also capture the keyboard?
推荐答案
地方阅读有关另辟蹊径论坛: -
Read somewhere on the forums about another way: -
Process sh = Runtime.getRuntime().exec("su", null,null);
OutputStream os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
os.flush();
您可以尝试了这一点。不知道是否可行与否,只是将它保存,以备不时之需:P
You can try that out. Don't know if it works or not, just saved it for a rainy day :P.
编辑:
找到链接后 - ?如何采取截图
用户说,截图为他工作。我想这应该满足您的要求。
User says, screenshots work for him. I think this should suit your requirement.
这篇关于以全屏幕截图编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文