移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及遠程協(xié)助領(lǐng)域,具體涉及移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng),包括:通過預(yù)先在移動應(yīng)用中嵌入遠程控制插件;在移動應(yīng)用啟動后,遠程控制插件首先接收遠程服務(wù)端發(fā)送的界面截獲命令,然后調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,接著獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù),最后向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。本發(fā)明通過遠程控制插件與遠程服務(wù)端建立連接,遠程控制插件只能在移動終端的某個啟動的應(yīng)用軟件內(nèi)接收并執(zhí)行界面截獲命令,并將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,故廠商客服只能看到自己廠商開發(fā)的應(yīng)用軟件的顯示結(jié)果,并對該應(yīng)用軟件進行維護,而不能看到移動終端的整個桌面,從而保證了用戶的隱私不會被公開。
【專利說明】移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及遠程協(xié)助領(lǐng)域,具體而言,涉及移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,有少數(shù)廠商(例如,韓國的Rsupport公司和德國的Teamviewer公司等)已經(jīng)開始在Android系統(tǒng)上開發(fā)出遠程協(xié)助軟件。
[0003]安裝Android操作系統(tǒng)的移動終端可通過上述遠程協(xié)助軟件與遠程廠商服務(wù)器建立連接。在遠程協(xié)助軟件與遠程廠商服務(wù)器建立連接后,遠程廠商客服可以在與遠程廠商服務(wù)器對應(yīng)的遠程廠商PC上獲得移動終端整個桌面的控制權(quán),即遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作;例如,廠商客服可以對移動終端內(nèi)的所有文件進行增、刪、改、查等操作,就像用戶自己操作自己的移動終端一樣。該遠程協(xié)助軟件對于移動終端遇到的一些軟件問題的診斷維修非常有利,免去了用戶去維修店的不便,也給遠程廠商客服帶來極大的便利和效率。
[0004]但是,上述遠程連接,遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作,從而使得用戶的隱私被公開。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng),以解決上述的問題。
[0006]在本發(fā)明的實施例中提供了一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,包括:
[0007]預(yù)先在移動應(yīng)用中嵌入遠程控制插件;
[0008]在移動應(yīng)用啟動后,遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令;
[0009]遠程控制插件調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令;
[0010]遠程控制插件獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù);
[0011]遠程控制插件向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。
[0012]進一步的,遠程控制插件調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,具體包括:
[0013]遠程控制插件調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令;
[0014]和/ 或,
[0015]遠程控制插件調(diào)用與界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行界面截獲命令。
[0016]進一步的,調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令,具體包括:
[0017]重構(gòu)每個Activity 的 onResume 方法;
[0018]從onResume方法中獲取當前的活動Activity ;[0019]調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對當前的活動Activity界面進行截
-M-
犾;
[0020]和,
[0021]重構(gòu)每個Activity的onPause方法,在onPause方法中將當前的活動Activity置空。
[0022]進一步的,遠程控制插件向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù),包括:
[0023]遠程控制插件對獲取的截獲數(shù)據(jù)進行比較,得到更新的數(shù)據(jù);
[0024]遠程控制插件對更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包;
[0025]遠程控制插件向遠程服務(wù)端發(fā)送數(shù)據(jù)包,以便遠程服務(wù)端接收數(shù)據(jù)包。
[0026]進一步的,在移動應(yīng)用啟動之后,遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令之前,還包括:
[0027]遠程控制插件接收用戶觸發(fā)的啟動VoIP語音的指令;
[0028]遠程控制插件根據(jù)指令啟動VoIP語音,并與遠程服務(wù)端建立VoIP語音連接。
[0029]在本發(fā)明的實施例中提供了一種移動終端應(yīng)用內(nèi)的遠程協(xié)助的系統(tǒng),包括:移動應(yīng)用和遠程服務(wù)端,其中:
[0030]預(yù)先在移動應(yīng)用中嵌入遠程控制插件;
[0031]遠程控制插件包括:
[0032]第一接收單元,用于在移動應(yīng)用啟動后,接收遠程服務(wù)端發(fā)送的界面截獲命令;
[0033]調(diào)用單元,與第一接收單元連接,用于調(diào)用與接收單元接收的界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令;
[0034]獲取單元,與調(diào)用單元連接,用于獲取調(diào)用單元執(zhí)行界面截獲命令后得到的截獲數(shù)據(jù);
[0035]第一發(fā)送單元,與獲取單元連接,用于向遠程服務(wù)端發(fā)送獲取單元獲取的截獲數(shù)據(jù);
[0036]遠程服務(wù)端包括:
[0037]第二發(fā)送單元,用于向遠程控制插件發(fā)送界面截獲命令;
[0038]第二接收單元,用于接收遠程控制插件發(fā)送的截獲數(shù)據(jù)。
[0039]進一步的,調(diào)用單元還用于調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令;
[0040]和/ 或,
[0041]調(diào)用與界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行界面截獲命令。
[0042]進一步的,調(diào)用單元具體包括:
[0043]第一重構(gòu)子單元,用于重構(gòu)每個Activity的onResume方法;
[0044]第一獲取子單元,與第一重構(gòu)子單元連接,用于從第一重構(gòu)子單元重構(gòu)的onResume方法中獲取當前的活動Activity ;
[0045]第一調(diào)用子單元,與第一獲取子單元連接,用于調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對第一獲取子單元獲取的當前的活動Activity界面進行截獲;
[0046]和,
[0047]第二重構(gòu)子單元,用于重構(gòu)每個Activity的onPause方法,并將當前的活動Activity置為空。
[0048]進一步的,第一發(fā)送單元具體包括:
[0049]比較子單元,用于對獲取的截獲數(shù)據(jù)進行比較;
[0050]第二獲取子單元,與比較子單元連接,用于獲取比較子單元比較后得到的更新的數(shù)據(jù);
[0051]壓縮封裝子單元,與第二獲取子單元連接,用于對第二獲取子單元獲取的更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包;
[0052]發(fā)送子單元,與壓縮封裝子單元連接,用于向遠程服務(wù)端發(fā)送壓縮封裝子單元壓縮封裝得到的數(shù)據(jù)包,以便遠程服務(wù)端接收數(shù)據(jù)包。
[0053]進一步的,遠程控制插件還包括:
[0054]第三接收單元,用于接收用戶觸發(fā)的啟動VoIP語音的指令;
[0055]啟動單元,與第三接收單元連接,用于根據(jù)第三接收單元接收的指令啟動VoIP語
曰;
[0056]建立連接單元,與啟動單元連接,用于與遠程服務(wù)端建立VoIP語音連接。
[0057]本發(fā)明實施例提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng),與現(xiàn)有技術(shù)中的遠程連接,遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作,從而使得用戶的隱私被公開的方案相比,本發(fā)明通過預(yù)先在移動應(yīng)用中嵌入遠程控制插件;在移動應(yīng)用啟動后,遠程控制插件首先接收遠程服務(wù)端發(fā)送的界面截獲命令,然后調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,接著獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)最后向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。本發(fā)明通過遠程控制插件與遠程廠商服務(wù)器建立連接,其中,遠程控制插件只能在移動終端的某個啟動的應(yīng)用軟件內(nèi)的接收并執(zhí)行界面截獲命令,并將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,故遠程服務(wù)端的廠商客服只能看到自己開發(fā)的應(yīng)用軟件的信息,并對該應(yīng)用軟件進行維護,而不能看到移動終端的整個桌面,從而保證了用戶的隱私不會被公開。
【專利附圖】
【附圖說明】
[0058]圖1示出了本發(fā)明實施例提供的一種移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)的結(jié)構(gòu)示意圖;
[0059]圖2示出了本發(fā)明實施例提供的一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法流程圖;
[0060]圖3示出了本發(fā)明實施例提供的另一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法流程圖;
[0061]圖4示出了本發(fā)明實施例提供的另一種移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)的結(jié)構(gòu)示意圖;
[0062]圖5示出了本發(fā)明實施例提供的一種移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)中遠程控制插件的結(jié)構(gòu)示意圖;
[0063]圖6示出了本發(fā)明實施例提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)中遠程服務(wù)端的結(jié)構(gòu)不意圖;
[0064]圖7示出了本發(fā)明實施例提供的一種調(diào)用單元的結(jié)構(gòu)示意圖;
[0065]圖8示出了本發(fā)明實施例提供的另一種調(diào)用單元的結(jié)構(gòu)示意圖;
[0066]圖9示出了本發(fā)明實施例提供的第一發(fā)送單元的結(jié)構(gòu)示意圖;[0067]圖10示出了本發(fā)明實施例提供的另一種移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)中遠程控制插件的結(jié)構(gòu)示意圖。
【具體實施方式】
[0068]下面通過具體的實施例子并結(jié)合附圖對本發(fā)明做進一步的詳細描述。
[0069]為便于對本實施例進行理解,首先對本實施例所基于的移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng)進行簡要說明。如圖1所示,本發(fā)明所涉及的遠程協(xié)助系統(tǒng)包括:移動終端11和遠程服務(wù)端12,其中,移動終端11內(nèi)裝有移動應(yīng)用14 ;移動終端11和遠程服務(wù)端12之間可以建立數(shù)據(jù)通信關(guān)系。而在本發(fā)明實施例中,上述移動終端11可以為具有通信功能的電子終端,例如智能手機、平板電腦或者其他通信電子產(chǎn)品;上述遠程服務(wù)端12可以是PC(personal computer,個人計算機)。
[0070]實施例1
[0071]本發(fā)明實施例提供了一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,所述方法由移動終端實現(xiàn)。如圖2所示,該方法包括:
[0072]101、預(yù)先在移動應(yīng)用中嵌入遠程控制插件。
[0073]本實施例中的移動應(yīng)用為一些廠商開發(fā)的應(yīng)用軟件,例如一些游戲軟件、微信、音樂等應(yīng)用軟件;遠程控制插件為一個或多個SDK (Software Development Kit,即軟件開發(fā)工具包)。使開發(fā)移動應(yīng)用的廠商將一個或多個SDK嵌入其開發(fā)的應(yīng)用軟件中,形成一個新的軟件發(fā)布給用戶用;其中,廠商可以將新的軟件在移動終端出廠時,預(yù)裝到移動終端的操作系統(tǒng)中,也可以將該新的軟件放在應(yīng)用商店,供用戶下載使用。該SDK可以和移動應(yīng)用的權(quán)限級別一樣。具體的,該SDK可以具有最高的Root權(quán)限,可以具有系統(tǒng)權(quán)限,也可以是最普通的User權(quán)限。其中,本實施例中的SDK可以供任何廠商使用,只要在廠商開發(fā)的應(yīng)用軟件中嵌入我們的SDK即可。本發(fā)明對于SDK的使用范圍不做具體限制。
[0074]另夕卜,該遠程控制插件中,可以有其它API (Application ProgrammingInterface,應(yīng)用程序編程接口),如啟動音頻、視頻服務(wù),停止或暫停音頻、視頻服務(wù)等,遠程客服可通過發(fā)布命令,控制該API,用以實現(xiàn)對移動終端的應(yīng)用軟件的控制。
[0075]102、在移動應(yīng)用啟動后,遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令。
[0076]具體的,當用戶啟動移動應(yīng)用后,遠程控制插件會在該移動應(yīng)用的活動窗口內(nèi)會顯示一個操作按鈕,當移動應(yīng)用出現(xiàn)故障時,用戶可通過操作該操作按鈕,使移動終端與啟動的移動應(yīng)用的遠程服務(wù)端建立連接,使遠程客服可以在遠程服務(wù)端上對該移動應(yīng)用進行遠程控制。
[0077]103、遠程控制插件調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令。
[0078]本實施例中,首先,遠程控制插件對接收到的界面截獲命令進行解析。具體的,移動終端與遠程服務(wù)端之間根據(jù)報文傳輸協(xié)議,由遠程服務(wù)端發(fā)送經(jīng)過封裝的攜帶界面截獲命令的報文,遠程控制插件接收經(jīng)過封裝的攜帶界面截獲命令的報文,并根據(jù)報文傳輸協(xié)議對該報文進行解析,獲取其中的界面截獲命令(該解析過程與封裝過程為互逆過程)。具體的,本發(fā)明對報文封裝和報文解析的方法并不做具體限制。
[0079]另外,本實施例中,該遠程控制插件只能對移動應(yīng)用內(nèi)的Activity界面進行截獲,而不能對移動終端的桌面上的其他應(yīng)用軟件界面進行截獲。[0080]104、遠程控制插件獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)。
[0081]本實施例中,遠程控制插件截獲移動應(yīng)用內(nèi)的Activity界面,并獲取截獲對象的數(shù)據(jù),以便后續(xù)將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,使遠程客服可以遠程服務(wù)端上看到移動應(yīng)用的整個運行狀態(tài)。
[0082]105、遠程控制插件向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。
[0083]本實施例中,遠程服務(wù)端接收到截獲數(shù)據(jù)后,根據(jù)上述的報文協(xié)議,對截獲數(shù)據(jù)進行解析并顯示,遠程客服即可在遠程服務(wù)端上看到移動應(yīng)用的整個運行狀態(tài)。
[0084]其中,移動終端通過遠程控制插件向遠程服務(wù)端發(fā)送截獲數(shù)據(jù),也可以通過專用的發(fā)送設(shè)備向遠程服務(wù)端發(fā)送截獲執(zhí)行結(jié)果。
[0085]本發(fā)明實施例提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,與現(xiàn)有技術(shù)中的遠程連接,遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作,從而使得用戶的隱私被公開的方案相比,本發(fā)明通過預(yù)先在移動應(yīng)用中嵌入遠程控制插件;在移動應(yīng)用啟動后,遠程控制插件首先接收遠程服務(wù)端發(fā)送的界面截獲命令,然后調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,接著獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)最后向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。本發(fā)明通過遠程控制插件與遠程廠商服務(wù)器建立連接,其中,遠程控制插件只能在移動終端的某個啟動的應(yīng)用軟件內(nèi)的接收并執(zhí)行界面截獲命令,并將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,故遠程服務(wù)端的廠商客服只能看到自己開發(fā)的應(yīng)用軟件的信息,并對該應(yīng)用軟件進行維護,而不能看到移動終端的整個桌面,從而保證了用戶的隱私不會被公開。
[0086]進一步的,調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口執(zhí)行界面截獲命令,具體包括:
[0087]重構(gòu)每個Activity的onResume方法;從onResume方法中獲取當前的活動Activity ;調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對當前的活動Activity界面進行截獲;和,重構(gòu)每個Activity的onPause方法;在onPause方法中將當前的活動Activity置空。
[0088]具體的,為了實現(xiàn)在移動應(yīng)用內(nèi)的截屏,必須要解決在移動應(yīng)用內(nèi)對于多個窗口切換時的內(nèi)容準確截獲。由于很多移動應(yīng)用中都不止一個窗口(例如對于Android系統(tǒng),就對應(yīng)多個Activity界面),為了保證在移動應(yīng)用內(nèi),能夠截獲該移動應(yīng)用內(nèi)的每個窗口的界面,具體采用如下兩個方案:
[0089]1、重構(gòu)每個Activity的onResume方法,在其中獲得該Activity的實例作為當前的活動Activity (top_ac),也就是作為待截屏的Activity ;然后執(zhí)行該Activity原來系統(tǒng)自帶的onResume操作。這2個操作執(zhí)行的先后順序可以調(diào)換,因為某個Activity的窗口如果在該應(yīng)用中被調(diào)起來在最前面顯示,一定會調(diào)用該方法。
[0090]2、重構(gòu)每個Activity的onPause方法,在其中將當前的活動Activity (top_ac)置為空;然后執(zhí)行該Activity原來系統(tǒng)自帶的onPause操作。這2個操作執(zhí)行的先后順序可以調(diào)換,因為某個Activity的窗口如果在該應(yīng)用中被調(diào)到后臺或銷毀,其他的Activity被調(diào)到前臺顯示時一定會調(diào)用該方法。
[0091 ] 遠程控制插件調(diào)用上述onResume方法和onPause方法,獲取當前的活動Activity,截獲并將當前的活動Activity置空,這樣就能保證在移動應(yīng)用內(nèi)截獲該移動應(yīng)用內(nèi)的每個Activity的界面。[0092]遠程控制插件調(diào)用系統(tǒng)接口截獲當前的活動Activity界面并發(fā)送給遠程服務(wù)端,以便遠程客服在遠程服務(wù)端可以看到應(yīng)用軟件的運行過程。
[0093]實施例2
[0094]本發(fā)明實施例提供了一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,所述方法由移動終端實現(xiàn)。如圖3所示,該方法包括:
[0095]201、預(yù)先在移動應(yīng)用中嵌入遠程控制插件。
[0096]202、在移動應(yīng)用啟動后,遠程控制插件接收用戶觸發(fā)的啟動VoIP語音的指令。
[0097]本實施例中,當移動應(yīng)用在運行的過程遇到問題時,用戶可以首先操作該移動應(yīng)用內(nèi)的“操作按鈕”啟動VoIP語音功能,此時,移動應(yīng)用即可與該應(yīng)用軟件的遠程服務(wù)端端建立VoIP語音連接。
[0098]203、遠程控制插件根據(jù)指令啟動VoIP語音,并與遠程服務(wù)端建立VoIP語音連接。
[0099]具體的,建立VoIP語音連接后,用戶可以與遠程客服進行通話,對移動應(yīng)用遇到的問題進行交流。當移動應(yīng)用遇到的問題無法通過與遠程客服交流解決時,遠程服務(wù)端可向移動應(yīng)用所在的移動終端發(fā)起遠程控制功能,在經(jīng)過用戶授權(quán)后即可啟動后續(xù)步驟。
[0100]其中,使用VoIP語音交流使得廠商的售后服務(wù)更加友好和高效。
[0101]204、遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令。
[0102]205、遠程控制插件調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令;和/或,遠程控制插件調(diào)用與界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行界面截獲命令。
[0103]具體的,遠程控制插件(即SDK包)調(diào)用系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令是Android的標準方法。
[0104]當遠程控制插件調(diào)用的系統(tǒng)接口函數(shù)無法對移動應(yīng)用當前的活動Activity界面進行截獲時,遠程控制插件調(diào)用該移動應(yīng)用廠商提供的接口函數(shù)對該移動應(yīng)用進行截屏。例如,對于本地視頻播放軟件,遠程控制插件可以調(diào)用該移動應(yīng)用廠商提供的getFrameAtTime ()系統(tǒng)函數(shù)截獲當前該移動應(yīng)用顯示的視頻巾貞的圖像數(shù)據(jù),并將該圖像數(shù)據(jù)發(fā)送給遠程服務(wù)端。
[0105]206、遠程控制插件獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)。
[0106]207、遠程控制插件對獲取的截獲數(shù)據(jù)進行比較,得到更新的數(shù)據(jù)。
[0107]具體的,對截獲的結(jié)果進行比較是指將本次截獲的圖像數(shù)據(jù)和上一幀截獲的圖像數(shù)據(jù)進行差分,以找到本次截獲的圖像數(shù)據(jù)與上一幀圖像數(shù)據(jù)相比更新的區(qū)域。因為屏幕并非一直在變化的,因此截獲的新圖像可能沒有更新或者更新很小,這樣,當本次截獲的圖像數(shù)據(jù)更新很小,我們只發(fā)送更新的圖像數(shù)據(jù)即可;當本次截獲的圖像數(shù)據(jù)沒有更新,我們可以不發(fā)送數(shù)據(jù),使用該方法可以極大的節(jié)約傳輸帶寬。
[0108]208、遠程控制插件對更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包。
[0109]本實施例中,移動終端和遠程服務(wù)端之間預(yù)定約定一種傳輸協(xié)議,移動終端根據(jù)該傳輸協(xié)議對截獲的執(zhí)行結(jié)果進行壓縮封裝。
[0110]209、遠程控制插件向遠程服務(wù)端發(fā)送數(shù)據(jù)包,以便遠程服務(wù)端接收數(shù)據(jù)包。
[0111]本實施例中,移動終端將壓縮封裝后的數(shù)據(jù)包發(fā)送給遠程服務(wù)端;遠程服務(wù)端接收該數(shù)據(jù)包,并對該數(shù)據(jù)包進行解壓縮,并顯示。[0112]具體的,移動終端可以通過遠程控制插件向遠程服務(wù)端發(fā)送數(shù)據(jù)包,也可以通過專有的發(fā)送設(shè)備向遠程服務(wù)端發(fā)送數(shù)據(jù)包。
[0113]本發(fā)明實施例提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,與現(xiàn)有技術(shù)中的遠程連接,遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作,從而使得用戶的隱私被公開的方案相比,本發(fā)明通過預(yù)先在移動應(yīng)用中嵌入遠程控制插件;在移動應(yīng)用啟動后,遠程控制插件首先接收遠程服務(wù)端發(fā)送的界面截獲命令,然后調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,接著獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)最后向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。本發(fā)明通過遠程控制插件與遠程廠商服務(wù)器建立連接,其中,遠程控制插件只能在移動終端的某個啟動的應(yīng)用軟件內(nèi)的接收并執(zhí)行界面截獲命令,并將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,故遠程服務(wù)端的廠商客服只能看到自己開發(fā)的應(yīng)用軟件的信息,并對該應(yīng)用軟件進行維護,而不能看到移動終端的整個桌面,從而保證了用戶的隱私不會被公開。
[0114]實施例3
[0115]本發(fā)明實施例中提供了一種移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng),所述系統(tǒng)用于實現(xiàn)圖2和圖3所示的方法。如圖4所示,所述系統(tǒng)包括:移動終端11和遠程服務(wù)端12,其中:
[0116]預(yù)先在移動應(yīng)用14中嵌入遠程控制插件13。
[0117]如圖5所示,遠程控制插件13包括:
[0118]第一接收單元131,用于在移動應(yīng)用啟動后,接收遠程服務(wù)端發(fā)送的界面截獲命令。
[0119]調(diào)用單元132,與第一接收單元131連接,用于調(diào)用與第一接收單元131接收的界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令。
[0120]獲取單元133,與調(diào)用單元132連接,用于獲取調(diào)用單元132執(zhí)行界面截獲命令后得到的截獲數(shù)據(jù)。
[0121]第一發(fā)送單元134,與獲取單元133連接,用于向遠程服務(wù)端發(fā)送獲取單元133獲取的截獲數(shù)據(jù)。
[0122]如圖6所示,遠程服務(wù)端12包括:
[0123]第二發(fā)送單元121,用于向遠程控制插件發(fā)送界面截獲命令。
[0124]第二接收單元122,用于接收遠程控制插件發(fā)送的截獲數(shù)據(jù)。
[0125]進一步的,調(diào)用單元132還用于調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行界面截獲命令;
[0126]和/或,調(diào)用與界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行界面截獲命令。
[0127]進一步的,如圖7和圖8所示,調(diào)用單元132具體包括:
[0128]第一重構(gòu)子單元1320,用于重構(gòu)每個Activity的onResume方法。
[0129]第一獲取子單元1321,與第一重構(gòu)子單元1320連接,用于從第一重構(gòu)子單元1320重構(gòu)的onResume方法中獲取當前的活動Activity。
[0130]第一調(diào)用子單元1322,與第一獲取子單元1321連接,用于調(diào)用與界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對第一獲取子單元1321獲取的當前的活動Activity界面進行截獲。
[0131]和,[0132]第二重構(gòu)子單元1323,用于重構(gòu)每個Activity的onPause方法,并將當前的活動Activity置為空。
[0133]進一步的,如圖9所示,第一發(fā)送單元134具體包括:
[0134]比較子單元1340,用于對獲取的截獲數(shù)據(jù)進行比較。
[0135]第二獲取子單元1341,與比較子單元1340連接,用于獲取比較子單元1340比較后得到的更新的數(shù)據(jù)。
[0136]壓縮封裝子單元1342,與第二獲取子單元1341連接,用于對第二獲取子單元1341獲取的更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包。
[0137]發(fā)送子單元1343,與壓縮封裝子單元1342連接,用于向遠程服務(wù)端發(fā)送壓縮封裝子單元壓縮封裝得到的數(shù)據(jù)包,以便遠程服務(wù)端接收數(shù)據(jù)包。
[0138]進一步的,如圖10所示,遠程控制插件13還包括:
[0139]第三接收單元135,用于接收用戶觸發(fā)的啟動VoIP語音的指令。
[0140]啟動單元136,與第三接收單元135連接,用于根據(jù)第三接收單元135接收的指令啟動VoIP語音。
[0141]建立連接單元137,與啟動單元136連接,用于與遠程服務(wù)端建立VoIP語音連接。
[0142]本發(fā)明實施例提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助系統(tǒng),與現(xiàn)有技術(shù)中的遠程連接,遠程廠商客服可以看到移動終端的整個桌面,并對該移動終端的整個桌面進行任意的操作,從而使得用戶的隱私被公開的方案相比,本發(fā)明通過預(yù)先在移動應(yīng)用中嵌入遠程控制插件;在移動應(yīng)用啟動后,遠程控制插件首先接收遠程服務(wù)端發(fā)送的界面截獲命令,然后調(diào)用與界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行界面截獲命令,接著獲取界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù)最后向遠程服務(wù)端發(fā)送獲取的截獲數(shù)據(jù)。本發(fā)明通過遠程控制插件與遠程廠商服務(wù)器建立連接,其中,遠程控制插件只能在移動終端的某個啟動的應(yīng)用軟件內(nèi)的接收并執(zhí)行界面截獲命令,并將截獲數(shù)據(jù)發(fā)送給遠程服務(wù)端,故遠程服務(wù)端的廠商客只能看到自己開發(fā)的應(yīng)用軟件的信息,并對該應(yīng)用軟件進行維護,而不能看到移動終端的整個桌面,從而保證了用戶的隱私不會被公開。
[0143]使用本發(fā)明提供的移動終端應(yīng)用內(nèi)的遠程協(xié)助方法及系統(tǒng),將我們開發(fā)的遠程控制插件嵌入移動應(yīng)用內(nèi),使得移動應(yīng)用的遠程客服可通過該遠程控制插件實現(xiàn)對遠程移動終端的控制,并且,使用該遠程控制插件只能進行該移動應(yīng)用內(nèi)的截獲,而不能對系統(tǒng)桌面級進行截屏,故使遠程客服人員只能在遠程服務(wù)端看到該移動應(yīng)用內(nèi)的截獲界面,而不會看到用戶的移動終端的整個桌面,從而保證了用戶的隱私;并且,使用遠程控制插件,用戶不用退出應(yīng)用程序,通過移動終端應(yīng)用程序內(nèi)的“操作按鈕”即可與遠程客服所在的服務(wù)器建立連接。用戶首先可通過該遠程控制插件與移動應(yīng)用的遠程客服實現(xiàn)VoIP語音通信,當移動應(yīng)用的問題無法通過語音交流解決時,遠程客服可發(fā)起遠程控制移動終端,當?shù)玫接脩舻氖跈?quán)后,遠程客服即可對該移動終端進行操控?,F(xiàn)有技術(shù)中,一些廠商開發(fā)的遠程協(xié)助軟件必須要求一些移動應(yīng)用具有系統(tǒng)權(quán)限才可使用,即移動應(yīng)用的廠商必須在移動終端出廠時,將該移動應(yīng)用預(yù)裝在移動終端的操作系統(tǒng)中,以獲得系統(tǒng)權(quán)限,才可使用。而本發(fā)明中,不一定要求移動應(yīng)用必須具有移動終端的系統(tǒng)權(quán)限,移動應(yīng)用只需具有普通的User權(quán)限即可(即移動應(yīng)用的廠商將該移動應(yīng)用放在普通的應(yīng)用商店中供用戶下載,獲得的普通User權(quán)限)即可,當然該移動應(yīng)用也可以具有系統(tǒng)權(quán)限和最高的ROOT權(quán)限。且本發(fā)明提供的遠程控制插件可供所有的軟件廠商使用。增加了移動終端和遠程客服的VoIP語音交流使得廠商客服的服務(wù)更加友好和高效。
[0144]本發(fā)明提供的遠程控制插件的應(yīng)用范圍,包括但不限于:獨立的Android客戶端應(yīng)用和依附于某些應(yīng)用平臺的輕應(yīng)用,如微信開放平臺上的各種公眾號微應(yīng)用。
[0145]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種移動終端應(yīng)用內(nèi)的遠程協(xié)助方法,其特征在于,包括: 預(yù)先在移動應(yīng)用中嵌入遠程控制插件; 在所述移動應(yīng)用啟動后,所述遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令; 所述遠程控制插件調(diào)用與所述界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行所述界面截獲命令; 所述遠程控制插件獲取所述界面截獲命令執(zhí)行后得到的截獲數(shù)據(jù); 所述遠程控制插件向所述遠程服務(wù)端發(fā)送獲取的所述截獲數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述遠程控制插件調(diào)用與所述界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行所述界面截獲命令,具體包括: 所述遠程控制插件調(diào)用與所述界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行所述界面截獲命令; 和/或, 所述遠程控制插件調(diào)用與所述界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行所述界面截獲命令。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述調(diào)用與所述界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行所述界面截獲命令,具體包括: 重構(gòu)每個Activity的onResume方法; 從所述onResume方法中獲取當前的活動Activity ; 調(diào)用與所述界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對所述當前的活動Activity界面進行截獲; 和, 重構(gòu)每個Activity的onPause方法; 在所述onPause方法中將所述當前的活動Activity置空。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述遠程控制插件向所述遠程服務(wù)端發(fā)送獲取的所述截獲數(shù)據(jù),包括: 所述遠程控制插件對所述獲取的所述截獲數(shù)據(jù)進行比較,得到更新的數(shù)據(jù); 所述遠程控制插件對所述更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包; 所述遠程控制插件向所述遠程服務(wù)端發(fā)送所述數(shù)據(jù)包,以便所述遠程服務(wù)端接收所述數(shù)據(jù)包。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述移動應(yīng)用啟動之后,所述遠程控制插件接收遠程服務(wù)端發(fā)送的界面截獲命令之前,還包括: 所述遠程控制插件接收用戶觸發(fā)的啟動VoIP語音的指令; 所述遠程控制插件根據(jù)所述指令啟動所述VoIP語音,并與所述遠程服務(wù)端建立VoIP語音連接。
6.一種移動終端應(yīng)用內(nèi)的遠程協(xié)助的系統(tǒng),其特征在于,包括移動應(yīng)用和遠程服務(wù)端,其中: 預(yù)先在所述移動應(yīng)用中嵌入遠程控制插件; 所述遠程控制插件包括: 第一接收單元,用于在所述移動應(yīng)用啟動后,接收遠程服務(wù)端發(fā)送的界面截獲命令;調(diào)用單元,與所述第一接收單元連接,用于調(diào)用與所述接收單元接收的所述界面截獲命令對應(yīng)的接口函數(shù)執(zhí)行所述界面截獲命令; 獲取單元,與所述調(diào)用單元連接,用于獲取所述調(diào)用單元執(zhí)行所述界面截獲命令后得到的截獲數(shù)據(jù); 第一發(fā)送單元,與所述獲取單元連接,用于向所述遠程服務(wù)端發(fā)送所述獲取單元獲取的所述截獲數(shù)據(jù); 所述遠程服務(wù)端包括: 第二發(fā)送單元,用于向所述遠程控制插件發(fā)送界面截獲命令; 第二接收單元,用于接收所述遠程控制插件發(fā)送的所述截獲數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述調(diào)用單元還用于調(diào)用與所述界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)執(zhí)行所述界面截獲命令; 和/或, 調(diào)用與所述界面截獲命令對應(yīng)的移動應(yīng)用提供的接口函數(shù)執(zhí)行所述界面截獲命令。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述調(diào)用單元具體包括: 第一重構(gòu)子單元,用于重構(gòu)Activity的onResume方法; 第一獲取子單元,與所述第一重構(gòu)子單元連接,用于從所述第一重構(gòu)子單元重構(gòu)的onResume方法中獲取當前的活動Activity ; 第一調(diào)用子單元,與所述第一獲取子單元連接,用于調(diào)用與所述界面截獲命令對應(yīng)的系統(tǒng)接口函數(shù)對所述第一獲取子單元獲取的所述當前的活動Activity界面進行截獲; 和, 第二重構(gòu)子單元,用于重構(gòu)每個Activity的onPause方法,并將當前的活動Activity置為空。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述第一發(fā)送單元具體包括: 比較子單元,用于對所述獲取的所述截獲數(shù)據(jù)進行比較; 第二獲取子單元,與所述比較子單元連接,用于獲取所述比較子單元比較后得到的更新的數(shù)據(jù); 壓縮封裝子單元,與所述第二獲取子單元連接,用于對所述第二獲取子單元獲取的所述更新的數(shù)據(jù)進行壓縮封裝,得到壓縮封裝后的數(shù)據(jù)包; 發(fā)送子單元,與所述壓縮封裝子單元連接,用于向所述遠程服務(wù)端發(fā)送所述壓縮封裝子單元壓縮封裝得到的所述數(shù)據(jù)包,以便所述遠程服務(wù)端接收所述數(shù)據(jù)包。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述遠程控制插件還包括: 第三接收單元,用于接收用戶觸發(fā)的啟動VoIP語音的指令; 啟動單元,與所述第 三接收單元連接,用于根據(jù)所述第三接收單元接收的指令啟動所述VoIP語音; 建立連接單元,與所述啟動單元連接,用于與所述遠程服務(wù)端建立所述VoIP語音連接。
【文檔編號】G06F9/44GK103942044SQ201410100877
【公開日】2014年7月23日 申請日期:2014年3月18日 優(yōu)先權(quán)日:2014年3月18日
【發(fā)明者】郭子華, 劉明明, 劉曉鳴 申請人:北京領(lǐng)通科技有限公司