[發明專利]一種利用JAVA反射機制進行截屏的方法在審
| 申請號: | 201711022023.2 | 申請日: | 2017-10-26 |
| 公開(公告)號: | CN107807835A | 公開(公告)日: | 2018-03-16 |
| 發明(設計)人: | 肖劍鋒 | 申請(專利權)人: | 競技世界(北京)網絡技術有限公司 |
| 主分類號: | G06F9/451 | 分類號: | G06F9/451 |
| 代理公司: | 北京冠和權律師事務所11399 | 代理人: | 朱健,陳國軍 |
| 地址: | 100085 北京市懷*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 java 反射 機制 進行 方法 | ||
技術領域
本發明屬于智能終端技術領域,具體涉及一種利用JAVA反射機制進行截屏的方法。
背景技術
截屏功能是終端的常用功能之一。終端出廠時提供的截屏操作方式通常需要同時長按兩個系統按鍵,例如,長按電源鍵+Home鍵,或者長按電源鍵+音量上鍵(或下鍵),或者其他兩個系統組合鍵。智能終端在經過一段時間的使用之后,容易出現某些實體按鍵或者虛擬按鍵使用失效或不靈敏的情況,例如,實體電源鍵,實體或系統虛擬返回鍵,實體或系統虛擬Home鍵等。雖然終端其他方面都還很好,但是因為某些系統按鍵不靈敏或者失效的問題,用戶就不得不花錢去更換按鍵,甚至購買新的終端。另外,使用長按組合鍵的方式進行截屏,操作需要一定的技巧,要兩個手一起操作,同時按下按鍵才行,操作并不是特別方便。
如圖1所述,現有技術中公開了一種截屏功能的方法,包括:當檢測到所述觸摸屏被觸摸時,獲取觸摸時長、觸摸區域以及所述移動終端的運動狀態(101);當所述觸摸時長大于預設時長、所述觸摸區域固定不變,以及所述移動終端的運動狀態滿足預設條件時,啟動截屏功能。通過本發明啟動截屏功能時無需雙手操作單手即可完成,使啟動截屏功能的操作更簡便快捷(102)。即用戶通過單手長時間觸摸屏幕某塊固定的區域,觸摸的時長要大于預設的時間,并且當前的移動終端處于預設的運動狀態時,啟動截屏功能。
現有技術中的上述技術方案存在如下缺點:
一是長時間觸摸的固定區域如果不是程序預設的區域,而是屏幕上的一塊隨便區域就有可能導致用戶的誤操作,比如,手攥著終端,手指長時間會接觸屏幕的某一塊固定區域,就可以看作條件滿足了,這就可能會引起用戶的誤操作;
二是移動終端的運動狀態得滿足預設條件,要監控移動終端的運動狀態,可能需要監聽終端上的各種傳感器,這個操作步驟將會非常繁瑣;終端的各種傳感器非常多,如果稍有遺漏,可能就會引起大的bug;
三是對于普通的第三方應用程序來說,是沒有權限啟動截屏功能的,系統沒有提供對外開放的接口,這個是系統為安全起見做的強制措施,除非是終端廠商自己才能做到。
發明內容
為克服上述現有技術的不足,本發明提供了一種利用JAVA反射機制進行截屏的方法。
首先不需要和終端廠商合作,只需要終端Root即可,也不用長時間觸摸終端固定區域達到一定的預設時間,以及不用判斷當前的終端處于何種運動狀態,只需要啟動自定義的shell命令行執行環境,然后在命令行中執行app_process命令,通過反射技術調用系統方法injectInputEvent(Android4.1及以上版本)或者injectKeyEvent(Android4.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、執行adb shell指令;
S409、判斷指令是否執行成功;當判斷結果為否時,執行步驟S4010,當判斷結果為是時,執行步驟S4011;
S4010、指令執行失敗,繼續執行S4016;
S4011、調用執行自定義的xxx.jar文件;
S4012、通過xxx.jar的main函數,執行實現類,反射調用注入函數;
S4013、判斷注入函數是否執行成功,判斷結果為否,則執行S4014,判斷結果為是,則執行S4015;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于競技世界(北京)網絡技術有限公司,未經競技世界(北京)網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711022023.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:后臺應用清理方法、裝置、存儲介質及電子設備
- 下一篇:一種動畫生成方法及裝置





