实现应用截屏的方法及装置制造方法及图纸

技术编号:12398369 阅读:75 留言:0更新日期:2015-11-26 04:01
本发明专利技术涉及一种实现应用截屏的方法及装置,其方法包括:接收截屏操作指令,获取截屏操作指令对应的目标应用程序,在目标应用程序的进程中注入截屏代码;调用截屏代码,对目标应用程序的当前进程进行截屏操作。本发明专利技术通过使用跨进程注入截屏代码的方式(截屏代码未使用系统api进行截屏),可以有效避免android碎片化造成移植适配手机中截屏差异化问题,保证截屏功能在移植适配手机中能够正确的使用,避免出现截屏内容是黑屏,或者是手机的开机画面,且截屏画面包含通知栏和底部操作栏的情形,从而提高了移动终端应用使用过程中截屏操作的成功率和系统测试有效性。

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及一种实现应用截屏的方法及装置
技术介绍
目前,Android手机的碎片化(手机生产厂商众多,各厂商根据需要可能会修改系统程序)导致了 Android应用程序在不同手机机型上存在着严重的差异化,当用户使用截屏功能对手机进行截屏时,现有的截屏方案是调用系统api接口进行截屏,造成不同的Android手机会有不同的表现,如截屏内容是黑屏,或者是手机的开机画面,且截屏画面包含通知栏和底部操作栏,这会让用户认为手机应用出现问题,造成用户体验差,用户粘性降低;此外,测试人员在使用截屏功能对应用程序进行自动化测试时,如果遇到以上问题,也会造成bug(故障、缺陷)无法截图打点,使得自动化测试不完善,降低了工作效率。因此,由于Android手机的碎片化,使用系统api接口进行截屏会造成差异化问题,截屏操作成功率低,错误率高。
技术实现思路
本专利技术实施例提供一种实现应用截屏的方法及装置,旨在提高移动终端应用使用过程中截屏操作的成功率和系统测试有效性。本专利技术实施例提出一种实现应用截屏的方法,包括:接收截屏操作指令,获取所述截屏操作指令对应的目标应用程序;在所述目标应用程序的进程中注入截屏代码;调用所述截屏代码,对所述目标应用程序的当前进程进行截屏操作。本专利技术实施例还提出一种实现应用截屏的装置,包括:接收模块,用于接收截屏操作指令,获取所述截屏操作指令对应的目标应用程序;注入模块,用于在所述目标应用程序的进程中注入截屏代码;截屏操作模块,用于调用所述截屏代码,对所述目标应用程序当前进程进行截屏操作。本专利技术实施例提出的一种实现应用截屏的方法及装置,在接收到截屏操作触发指令后,获取截屏操作指令对应的目标应用程序,在目标应用程序的进程中注入截屏代码;调用截屏代码,对目标应用程序当前进程进行截屏操作,由此通过使用跨进程注入截屏代码的方式(截屏代码未使用系统api进行截屏),可以有效避免android碎片化造成移植适配手机中截屏差异化问题,保证截屏功能在移植适配手机中能够正确的使用,避免出现截屏内容是黑屏,或者是手机的开机画面,且截屏画面包含通知栏和底部操作栏的情形,从而提高了移动终端应用使用过程中截屏操作的成功率和系统测试有效性。【附图说明】图1是本专利技术实现应用截屏的方法较佳实施例的流程示意图;图2是本专利技术实施例客户端界面示意图;图3是本专利技术实施例中客户端在目标应用程序的进程中注入截屏代码的流程示意图;图4是本专利技术实施例中调用所述截屏代码,对所述目标应用程序的当前进程进行截屏操作的流程示意图;图5是本专利技术实现应用截屏的装置较佳实施例的功能模块示意图;图6是本专利技术实施例实现应用截屏的装置所在终端的一种结构示意图。为了使本专利技术的技术方案更加清楚、明了,下面将结合附图作进一步详述。【具体实施方式】应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例的主要解决方案是:客户端响应用户的截屏操作指令,获取截屏操作指令对应的目标应用程序,在目标应用程序的进程中注入截屏代码;调用截屏代码,对目标应用程序当前进程进行截屏操作,由此通过使用跨进程注入截屏代码的方式(截屏代码未使用系统api进行截屏),可以有效避免android碎片化造成移植适配手机中截屏差异化问题,保证截屏功能在移植适配手机中能够正确的使用,提高移动终端应用使用过程中截屏操作的成功率和系统测试有效性。如图1所示,本专利技术第一实施例提出一种实现应用截屏的方法,包括:步骤S101,接收截屏操作指令,获取所述截屏操作指令对应的目标应用程序;步骤S102,在所述目标应用程序的进程中注入截屏代码;在指定运行的目标应用程序的进程中注入截屏代码;本实施例方法运行环境涉及手机、平板电脑等移动终端,该移动终端操作系统包括但不限于Android操作系统,在移动终端上安装有用于对目标应用程序进行截屏操作的客户端测试工具应用软件。以Android系统手机为例,对于同一版本的Android系统程序,由于不同手机生产厂商出于自身需求的考虑,通常会修改系统程序代码,由此众多的手机生产厂商会导致Android系统手机的碎片化。而在手机应用程序运行过程中,在进行截屏操作时,现有技术是调用系统api接口进行截屏,而调用系统api接口进行截屏会由于Android系统手机的碎片化,造成移植适配机型产生截屏差异化问题,即无法保证截屏功能在移植适配手机中正确使用,出现截屏内容是黑屏,或者是手机的开机画面,且截屏画面包含通知栏和底部操作栏的情形,造成不同机型手机截屏时,截屏成功率低,错误率高。本专利技术实施例方案使用跨进程注入截屏代码的方式(截屏代码未使用系统api进行截屏),可有效的解决以上问题,保证截屏功能在移植适配手机中正确使用。具体地,首先,客户端响应用户的截屏操作指令,获取截屏操作指令对应的目标应用程序;在指定运行的目标应用程序的进程中注入截屏代码。作为一种实施方式,可以在客户端桌面设置测试工具的图标,如图2所示,用户通过点击该测试工具图标来启动测试工具应用软件,以便对目标应用程序进行截屏操作。其中,目标应用程序可以为用户当前已启动运行的一个或多个目标应用程序,若为多个目标应用程序,则由客户端提示用户选择指定其中一个目标应用程序进行截屏操作。当然,上述需要进行截屏操作的目标应用程序也可以由客户端根据用户的操作指令临时启动。作为一种实施方式,可以在移动终端屏幕上设置截屏按钮,该截屏按钮可以为机械按钮,也可以为触摸按钮,用户通过点击该截屏按钮来触发截屏操作。在获取到指定运行的目标应用程序后,客户端测试工具通过注入模块在该指定运行的目标应用程序的进程中注入截屏代码,以便后续通过调用该截屏代码对目标应用程序当前进程进行截屏操作。步骤S103,调用所述截屏代码,对所述目标应用程序的当前进程进行截屏操作。之后,客户端调用该截屏代码,对目标应用程序当前进程进行截屏操作。具体地,首先,客户端调用截屏代码,获取所述目标应用程序当前进程的所有视图根节点;然后,调用所述视图根节点的图像缓存参数,获取目标应用当前屏幕的图片数据;根据所述目标应用当前屏幕的图片数据,生成截屏图片并保存。相比现有技术,在移植适配机型中,采用第三方软件在目标应用程序进程中调用系统接口进行截屏,会发生在不同机型上截屏是黑屏或截取不到屏幕的情况(因为现有技术中,不同机型的系统程序提供的代码可能经过修改或删除,使得截屏所需文件遗失,在调用系统接口进行截屏时,造成截取不到屏幕的情况);而本实施例通过上述方案,采用跨进程注入截屏代码的方式,且截屏代码未使用系统接口,可有效解决移植适配机型中差异化问题,保证用户和测试人员在移植适配手机中使用截屏功能时截屏成功,同时在进程中注入截屏代码,截屏图片只会保存目标程序的当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种实现应用截屏的方法,其特征在于,包括:接收截屏操作指令,获取所述截屏操作指令对应的目标应用程序;在所述目标应用程序的进程中注入截屏代码;调用所述截屏代码,对所述目标应用程序的当前进程进行截屏操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴宇焕胡泊王典
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1