The present invention provides a method for screen using JAVA reflection mechanism, the use of JAVA emission mechanism in any position intelligent terminal screen Android through virtual keys defined by the system instead of a long key combination to achieve the screenshot, will achieve the function of performance in order to form a virtual button on the window of the suspension, suspension to the screen can be anywhere. And almost all of the above can be displayed in the terminal application interface, so you can through the operation of the virtual keys instead of pressing the key combination to achieve the screenshot system in any case.
【技术实现步骤摘要】
一种利用JAVA反射机制进行截屏的方法
本专利技术属于智能终端
,具体涉及一种利用JAVA反射机制进行截屏的方法。
技术介绍
截屏功能是终端的常用功能之一。终端出厂时提供的截屏操作方式通常需要同时长按两个系统按键,例如,长按电源键+Home键,或者长按电源键+音量上键(或下键),或者其他两个系统组合键。智能终端在经过一段时间的使用之后,容易出现某些实体按键或者虚拟按键使用失效或不灵敏的情况,例如,实体电源键,实体或系统虚拟返回键,实体或系统虚拟Home键等。虽然终端其他方面都还很好,但是因为某些系统按键不灵敏或者失效的问题,用户就不得不花钱去更换按键,甚至购买新的终端。另外,使用长按组合键的方式进行截屏,操作需要一定的技巧,要两个手一起操作,同时按下按键才行,操作并不是特别方便。如图1所述,现有技术中公开了一种截屏功能的方法,包括:当检测到所述触摸屏被触摸时,获取触摸时长、触摸区域以及所述移动终端的运动状态(101);当所述触摸时长大于预设时长、所述触摸区域固定不变,以及所述移动终端的运动状态满足预设条件时,启动截屏功能。通过本专利技术启动截屏功能时无需双手操作单手即可完成,使启动截屏功能的操作更简便快捷(102)。即用户通过单手长时间触摸屏幕某块固定的区域,触摸的时长要大于预设的时间,并且当前的移动终端处于预设的运动状态时,启动截屏功能。现有技术中的上述技术方案存在如下缺点:一是长时间触摸的固定区域如果不是程序预设的区域,而是屏幕上的一块随便区域就有可能导致用户的误操作,比如,手攥着终端,手指长时间会接触屏幕的某一块固定区域,就可以看作条件满足了, ...
【技术保护点】
一种利用JAVA反射机制进行截屏的方法,其特征在于,包括以下步骤:S401、开始,点击悬浮按键;S402、展开悬浮窗,点击悬浮窗上的截屏功能按键;S403、判断终端是否Root;如果判断结果为否,则执行S404,如果判断结果为是,则执行S405;S404、提示终端未Root,无法使用此功能,继续执行S4016;S405、提取按键对应的action和code值;S406、申请Root权限,系统提示是否赋予该app权限,当Root权限申请成功后执行S408,当Root权限申请不成功则执行S407;S407、未获得Root权限,执行失败,继续执行S4016;S408、执行adb shell指令;S409、判断指令是否执行成功;当判断结果为否时,执行步骤S4010,当判断结果为是时,执行步骤S4011;S4010、指令执行失败,继续执行S4016;S4011、调用执行自定义的xxx.jar文件;S4012、通过xxx.jar的main函数,执行实现类,反射调用注入函数;S4013、判断注入函数是否执行成功,判断结果为否,则执行S4014,判断结果为是,则执行S4015;S4014、提示执行失败 ...
【技术特征摘要】
1.一种利用JAVA反射机制进行截屏的方法,其特征在于,包括以下步骤:S401、开始,点击悬浮按键;S402、展开悬浮窗,点击悬浮窗上的截屏功能按键;S403、判断终端是否Root;如果判断结果为否,则执行S404,如果判断结果为是,则执行S405;S404、提示终端未Root,无法使用此功能,继续执行S4016;S405、提取按键对应的action和code值;S406、申请Root权限,系统提示是否赋予该app权限,当Root权限申请成功后执行S408,当Root权限申请不成功则执行S407;S407、未获得Root权限,执行失败,继续执行S4016;S408、执行adbshell指令;S409、判断指令是否执行成功;当判断结果为否时,执行步骤S4010,当判断结果为是时,执行步骤S4011;S4010、指令执行失败,继续执行S4016;S4011、调用执行自定义的xxx.jar文件;S4012、通过xxx.jar的main函数,执行实现类,反射调用注入函数;S4013、判断注入函数是否执行成功,判断结果为否,则执行S4014,判断结果为是,则执行S4015;S4014、提示执行失败,执行S4016;S4015、实现截屏功能;S4016、退出:执行退出功能,此时可以选择关闭悬浮窗,也可以继续保留悬浮窗,继续执行其它按键功能。2.如权利要求1所述的利用JAVA反射机制进行截屏的方法,其特征在于:点击悬浮按键后悬浮窗将会被展开,同时悬浮按键进行隐藏;悬浮窗关闭后,悬浮按键显示出来。3.如权利要求1或2所述的利用JAVA反射机制进行截屏的方法,其特征在于:判断终端是否Root具体为:检测/system/bin/,/system/xbin/,/sbin/,/system/sd/xbin/,/data/local/xbin/,/data/local/bin/目录是否存在su文件;或者在shell指令里执行“su”,在返回的输出系统中执行打印指令,如果返回成功,则代表Root成功。4.如权利要求1-3任一所述的利用JAVA反射机制进行截屏的方法,其特征在于:预先定义action具有单击,长按两种值,code为系统各个按键的键值码;计算出悬浮窗点击的按钮将要对应的系统按键的action和code值,action和code拼接成字符串传给xxx.jar文件处理;通过判断不同的机型,选择不同的按键组合方式。5.如权利要求1-4任一所述的利用JAVA反射机制进行截屏的方法,其特征在于:在创建的shell命令行环境中执行“execapp_process库所在的路径库中实现功能的类名”指令,接着再将之前生成的action和code拼接成字符串传给此进程执行,在执行之前需要设置执行的环境变量,在Android4.0及以上版本使用exportLD_LIBRARY_PATH进行设置,在Android4.0以下版本使用exportCLASSPATH进行设置。6.如权利要求1-5任一所述的利用JAVA反射机制进行截屏的方法,悬浮按键和悬浮窗启动过程及工作流程如下:S501、启动程序;S502、启动客户端进程;此进程中包含了悬浮窗的所有设置功能;S503、由客户端进程启动一个AndroidService进程;S504、在Service进程中分别创建悬浮按键和悬浮窗;S505、Service进程在后台一直保持运行,显示悬浮按键,隐藏悬浮窗;S506、判断是否点击悬浮按键;如果判断结果为否,则执行S507;如果判断结果为是,则执行S508;S507、待机运行,继续监听按键事件,返回至S505;如果没有点击事件发生,悬浮按键将保持待机运行,直到监听到按键事件;S508、显示悬浮窗,隐藏悬浮按键;收到点击事件,将悬浮按键隐藏,并实现悬浮窗;S509、展...
【专利技术属性】
技术研发人员:肖剑锋,
申请(专利权)人:竞技世界北京网络技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。