如何以编程方式获取 android 设备屏幕截图? [复制]

Posted

技术标签:

【中文标题】如何以编程方式获取 android 设备屏幕截图? [复制]【英文标题】:How to get android device screenshot programmatically? [duplicate] 【发布时间】:2012-05-11 18:06:40 【问题描述】:

可能重复:Screenshot android

我想从应用程序启动的地方获取android设备的屏幕截图,如果你有解决方案,请回复。

提前致谢

【问题讨论】:

您在标题中以编程方式说过,但您没有在问题中提及。 【参考方案1】:

您可以使用代码或 jar 库截取正在运行的应用程序。但是要获得系统范围的屏幕截图,您需要 root 手机(在 Android 4.0 之前)

check this out

【讨论】:

【参考方案2】:

您可以通过对布局的***视图使用以下命令以编程方式获取整个屏幕的位图:

topLevelView.setDrawingCacheEnabled(true);
Bitmap fullScreenBitmap = Bitmap.createBitmap(topLevelView.getDrawingCache());
topLevelView.setDrawingCacheEnabled(false);

然后您可以使用 fullScreenBitmap 做任何您需要的事情。

【讨论】:

感谢您的回复,我已经尝试过了,但它给出了黑屏或我设置了 onCreate() 函数的当前 xml 视图,但我想要应用程序启动位置的屏幕截图(应用程序菜单或 android 的主屏幕设备)。【参考方案3】:

查看此代码。它可能对您有所帮助。

View v1 = view.getRootView();

                            v1.setDrawingCacheEnabled(true);

                            Bitmap bm = v1.getDrawingCache();

【讨论】:

这里的“视图”是指您的布局视图。 感谢您的回复,但我已经尝试过它会出现黑屏或错误 感谢您的回复,我已经尝试过了,但它给出了黑屏或我设置了 onCreate() 函数的当前 xml 视图,但我想要应用程序启动位置的屏幕截图(应用程序菜单或 android 的主屏幕设备)。 ok.为什么需要主屏幕截图? 现在这里是实现此类应用程序的要求【参考方案4】:

转到 DDMS -> 设备 -> 在右上角查看相机图标,单击该图标您将获得设备/模拟器屏幕截图。

【讨论】:

感谢您的回复,但我想实现应用程序来捕获设备屏幕截图,这就是我想要代码解决方案的原因

以上是关于如何以编程方式获取 android 设备屏幕截图? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在android中以编程方式获取屏幕密度?

如何在 Android 上以编程方式截取屏幕截图? [复制]

Android Studio错误尝试获取屏幕截图:“从设备获取屏幕截图时出现意外错误:EOF”

Android:如何在有根设备上获取帧缓冲区(屏幕截图)?

以编程方式获取 Android 手机型号,如何在 android 中以编程方式获取设备名称和型号?

如何在移动iOS / Android上使用JS屏蔽截图? [关闭]