当前位置: 首页 > 知识库问答 >
问题:

如何在android中通过display android获取屏幕截图

薄烨
2023-03-14

我需要在应用程序最小化时获得一个屏幕截图

这段代码是从应用程序activity的rootView中抓取的截图:

View v1 = getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap original = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);

如何从显示获得截图,而不是从activity视图?

共有1个答案

蓬森
2023-03-14

有一个专门用于屏幕截图/录音的API,叫做MediaProjection,这里有一些文档

这里和这里的示例项目

 类似资料:
  • 我的应用程序允许用户截取屏幕截图,然后发送到服务器。 在真正的设备上,屏幕截图保存在中,这样就可以了。 但是在模拟器上,当我点击截屏按钮(位于模拟器旁边的面板中)时,截屏被保存到我的计算机中,但是我在模拟器的文件系统中找不到它>目录存在,但子目录不存在。 是否有任何方法可以访问模拟器上的屏幕截图图像,或者有其他方法获取屏幕截图?

  • 问题内容: 我想通过c获取屏幕尺寸。我知道jni支持从c调用Java。但是有人知道另一种方法吗?我的意思是从低级模块获取屏幕大小,而无需调用Java。 我认为/ dev / graphics与我的问题有关 问题答案: 是的,您可以从/ dev / graphics / fb0获得屏幕分辨率,但是(至少在我的手机上)读取权限仅限于root用户和“ graphics”组中的用户。无论如何,您可以执行以

  • 我正在使用AlarmManager和Pending Intent调用BroadcastReceiver类。这是每天安排的。 以下是“活动”中调用的BroadCast Receiver类的代码(它是一个单独的类)。 问题陈述是,在此接收器中,我正在打开另一个应用程序,我想捕获屏幕截图并将其上传到服务器。但是窗口功能在广播接收器类中不可用,我无法实现,因为我超出了活动控制。 关键挑战: -在以下类中实

  • 问题内容: 我有一个名为overView的UIView: 我只想截取此视图的屏幕截图,而不是整个屏幕。并制作尺寸截图: 这是我的代码: 屏幕截图具有所需的大小,但是它需要整个视图的屏幕截图,而不仅仅是“ overView”。 问题答案: 要绘制一个视图,只需使用以下命令: 如果您想多次使用它,可能扩展可以完成这项工作: // Swift4 //旧的Swift 要解释这些参数的作用: UIGraph

  • 问题内容: 如何获取Android屏幕的可用高度?我需要减去状态栏/菜单栏或屏幕上可能显示的任何其他装饰的高度,并且需要它适用于所有设备。另外,我需要在onCreate函数中知道这一点。我知道之前曾有人问过这个问题,但我已经尝试过他们的解决方案,但没有一个起作用。这是我尝试过的一些方法: 我已经在API 7-17上测试了此代码。不幸的是,在API 13的水平和垂直底部都没有多余的空间,而在API

  • 问题内容: 我希望用户在Swift中以编程方式按下按钮后继续运行我的应用并为应用截图。我知道需要截图,但是我不需要整个屏幕的图片。我希望弹出一个矩形(有点像裁剪工具),并且用户可以拖动矩形并调整其大小以仅截取屏幕的特定部分的屏幕截图。我希望矩形经过a 并裁剪Web视图的图片。 问题答案: 标准的快照技术是,将其绘制到图像上下文。在iOS 10及更高版本中,您可以使用: 而且您会这样使用: 在iOS