我的Delphi XE7应用程序的Android屏幕截图

时间:2014-11-03 20:21:20

标签: android delphi screenshot firemonkey delphi-xe7

在我的Android手机上: 如何从我的Delphi XE7应用程序同时按住右侧的待机键和主页按钮。即访问这两个按钮,从我的应用程序(到图片文件夹)中截取屏幕截图?

1 个答案:

答案 0 :(得分:4)

在API级别17(Jelly Bean MR1)及更高版本中,Android的com.android.uiautomator.core.UiDevice类有两种takeScreenshot()方法:

  

public boolean takeScreenshot(File storePath)

     

截取当前窗口的屏幕截图并将其存储为PNG默认比例为1.0f(原始大小),使用90%质量屏幕截图根据屏幕旋转进行调整

     

参数

     

storePath
  应将PNG写入

的地方      

返回
  如果成功创建了屏幕截图,则为true,否则为

  

public boolean takeScreenshot(File storePath,float scale,int quality)

     

截取当前窗口的屏幕截图并将其存储为PNG屏幕截图根据屏幕旋转进行调整

     

参数

     

storePath
  应将PNG写入

的地方      

比例
  如果需要,缩小屏幕截图; 1.0f原始尺寸

     质量
  PNG压缩的质量;范围:0-100

     

返回
  如果成功创建了屏幕截图,则为true,否则为

对于较旧的Android版本,没有屏幕截图API,您无法模拟硬件按键以强制它可编程。虽然看起来有办法让View个对象呈现给Bitmap个对象,然后您可以根据需要使用它们。

App Store中有第三方应用可以截取屏幕截图,因此您可以使用Intent调用其中一个。

还有第三方屏幕截图库,例如Google代码上的Android Screenshot Library

  

Android截图库(ASL)支持以编程方式从Android设备捕获屏幕截图,而无需具有root访问权限。相反,ASL使用在后台运行的本机服务,每次设备启动时通过Android调试桥(ADB)启动一次。