Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用屏幕键盘捕获活动屏幕_Android_Screenshot_Android Softkeyboard - Fatal编程技术网

Android 使用屏幕键盘捕获活动屏幕

Android 使用屏幕键盘捕获活动屏幕,android,screenshot,android-softkeyboard,Android,Screenshot,Android Softkeyboard,我试图在android上捕捉我的活动屏幕。我使用的代码如下: View root = this.activity.getWindow().getDecorView().getRootView(); Bitmap b = Bitmap.createBitmap(root.getWidth(), root.getHeight(), Config.RGB_565); Canvas c = new Canvas(b); root.draw(c); if (b != null && !

我试图在android上捕捉我的活动屏幕。我使用的代码如下:

View root = this.activity.getWindow().getDecorView().getRootView();

Bitmap b = Bitmap.createBitmap(root.getWidth(), root.getHeight(), Config.RGB_565);
Canvas c = new Canvas(b);
root.draw(c);

if (b != null && !b.isRecycled()) {
    this.screen = Bitmap.createBitmap(b);
}
如果屏幕上的键盘弹出,那么我在
这个屏幕中只能看到我的活动窗口的一部分,其余部分是空白的


有没有办法获取我的应用程序的屏幕截图,包括屏幕键盘下的部分?

很抱歉让您失望,但没有外部帮助,这是无法完成的。键盘不是应用程序布局的一部分

您的“最外层”视图是您已经捕捉到的
DecorView
。这就是这项技术的范围

编辑:我现在无法尝试,但试一试:

View topmost = ((ViewGroup)
     ctx.getWindow().getDecorView().findViewById(android.R.id.content)
).getChildAt(0);

topmost.setDrawingCacheEnabled(true);

Bitmap screenshot = topmost.getDrawingCache();

我开始告诉你,如果你有问题的屏幕截图被挤压,屏幕并没有被挤压。屏幕截图上仅显示屏幕键盘上方的对象。其他所有内容(即键盘下的对象)均为空。我也需要在屏幕截图上显示它们。你的意思是我无法捕获屏幕键盘下的对象?在这种情况下,你说的外部援助是什么意思?而且,我不需要捕捉键盘,只要是我窗口上的任何东西,即使它在某个东西下面。现在不能说,但似乎我找不到那个方法。这是View的方法吗?我的错误:
DrawingCache
。将编辑并给您一个示例进行尝试。很抱歉,我自己没有这样做,但我这里没有安卓开发设置。现在屏幕截图被修剪。我在galaxy tab 2上测试,用我的代码,我得到了一个带有空白部分的图像1024x600,其中是屏幕键盘,现在我得到了一个1024x173图像。所以,结果是一样的,我无法得到对象,它们被放在屏幕键盘下。