本技術涉及終端領域,尤其涉及一種用于應用接續(xù)的方法及終端設備。
背景技術:
1、目前,跨設備之間的應用接續(xù)將成為后續(xù)多設備場景中的重要功能。其中,應用接續(xù)可以理解為,當用戶在個人筆記本(personal?computer,pc)上使用某一應用時,用戶可以在符合接續(xù)條件的手機中接續(xù)該應用的使用狀態(tài),并繼續(xù)在手機上使用該應用。
2、對于應用接續(xù)場景下的pc而言,為實現(xiàn)將應用的使用狀態(tài)同步至其他設備,或者將其他設備的應用的使用狀態(tài)同步至pc的需求,pc需要對外提供接續(xù)框架和軟件開發(fā)工具包(software?development?kit,sdk)以滿足此需求。其中,接續(xù)框架是為應用提供統(tǒng)一的應用狀態(tài)同步框架,應用需要通過sdk接入接續(xù)框架,實現(xiàn)與接續(xù)框架中的接續(xù)服務的數(shù)據傳輸,而接續(xù)服務以電腦管家為依托為應用提供對外服務能力。在pc中的應用和電腦管家啟動之后,應用和電腦管家運行在兩個不同的進程,應用需要通過進程間通信(interprocess?communication,ipc)和電腦管家中的接續(xù)服務通信。
3、因此,如何在pc側為應用分配ipc通信資源,以實現(xiàn)應用和電腦管家中的接續(xù)服務之間的通信,是一個亟待解決的問題。
技術實現(xiàn)思路
1、本技術提供一種用于應用接續(xù)的方法及終端設備,有利于為終端設備靈活分配ipc通信資源,以實現(xiàn)應用和電腦管家中的接續(xù)服務之間的通信。
2、第一方面,提供了一種用于應用接續(xù)的方法,應用于終端設備,該終端設備為應用接續(xù)的發(fā)送端或者接收端,該終端設備安裝有第一應用和電腦管家,該方法包括:響應于用戶點擊第一應用的圖標的操作,獲取共享內存中目標比特位的標識,目標比特位是值為第一預設值的比特位,第一預設值表示目標比特位對應的通信通道未被使用;基于目標比特位的標識,確定目標比特位對應的通信標識,通信標識指示用于第一應用和電腦管家通信的至少一個通信通道;基于至少一個通信通道實現(xiàn)第一應用與電腦管家之間的數(shù)據傳輸。
3、在本技術中,電腦管家中集成有接續(xù)服務管理器(下文中也可簡稱為接續(xù)服務),第一應用與電腦管家通信,包括第一應用的接續(xù)服務sdk與電腦管家中的接續(xù)服務之間的通信。在第一應用和電腦管家啟動之后,接續(xù)服務在電腦管家中運行,第一應用作為獨立進程接入sdk后運行在三方應用中。因此,第一應用需要和電腦管家中的接續(xù)服務通過接續(xù)服務sdk進行跨進程通信。
4、在一些場景下,可能會有至少一個應用接入接續(xù)服務以期實現(xiàn)應用接續(xù),在這種場景下,電腦管家需要具備與所有接入接續(xù)服務的應用通過ipc通信的能力。在本技術提供的技術方案中,針對接入接續(xù)服務的至少一個應用中的第一應用,終端設備可以獲取共享內存中的目標比特位的標識,基于目標比特位的標識得到對應的通信標識,為第一應用分配與通信標識對應的至少一個通信通道,以使第一應用通過ipc通信資源與電腦管家中的接續(xù)服務進行通信。這樣,通過將ipc通信和共享內存結合,終端設備可以靈活地為所有接入接續(xù)服務的應用分配ipc通信資源,實現(xiàn)應用接續(xù)場景下應用和電腦管家之間的數(shù)據傳輸。
5、結合第一方面,在第一方面的某些實現(xiàn)方式中,該方法還包括:基于對目標比特位的標識的獲取,將目標比特位的值從第一預設值修改為第二預設值,第二預設值表示目標比特位對應的通信通道已被使用。
6、在本技術中,終端設備在確定目標比特位之后,可以將目標比特位的值從第一預設值修改為第二預設值,以標識目標比特位對應的通信通道已被申請或已被使用。這樣當再有新的應用接入接續(xù)服務之后,終端設備可以為該新的應用申請其他的值為第一預設值的比特位對應的通信通道,實現(xiàn)ipc通信資源的靈活分配。
7、可選地,終端設備可以響應于用戶點擊第一應用的圖標的操作,對共享內存中的多個比特位的值進行檢測,確定多個比特位中的值為第一預設值的目標比特位。在確定目標比特位之后,終端設備可以獲取目標比特位的標識。并且,在確定目標比特位之后,終端設備可以將目標比特位的值從第一預設值修改為第二預設值。其中,終端設備獲取目標比特位的標識與將目標比特位的值從第一預設值修改為第二預設值執(zhí)行順序不作限定。
8、結合第一方面,在第一方面的某些實現(xiàn)方式中,基于至少一個通信通道實現(xiàn)第一應用與所述電腦管家之間的數(shù)據傳輸,包括:基于至少一個通信通道中的第一通信通道,注冊接續(xù)服務和回調。
9、在本技術中,終端設備為第一應用分配的至少一個通信通道中的每個通信通道可用戶傳輸不同類型的消息。其中,第一通信通道用于第一應用注冊接續(xù)服務和回調。這樣使得應用接續(xù)場景下的數(shù)據傳輸更加便捷高效。
10、結合第一方面,在第一方面的某些實現(xiàn)方式中,該方法還包括:在第一應用的進程退出的情況下,將目標比特位的值從第二預設值修改為第一預設值。
11、在本技術中,第一應用的進程退出,包括第一應用的進程正常退出和異常退出兩種情況。在第一應用的進程退出后,終端設備可以將目標比特位的值從第二預設值修改為第一預設值,釋放被第一應用占用的通信通道,這樣在ipc通信資源有限的情況下,其他的應用便可以使用目標比特位對應的通信通道,提高了資源利用率。
12、結合第一方面,在第一方面的某些實現(xiàn)方式中,該方法還包括:基于該至少一個通信通道中的第二通信通道,解除注冊接續(xù)服務和回調;基于對接續(xù)服務和回調的解除注冊,確定第一應用的進程退出。
13、在本技術中,在第一應用正常退出的情況下,終端設備可以通過為第一應用分配的第二通信通道解除注冊接續(xù)服務和回調。當終端設備中的接續(xù)服務接收到解除注冊接續(xù)服務和回調的消息之后,可以確定第一應用的進程正常退出,進而終端設備可以釋放為第一應用分配的通信通道。
14、結合第一方面,在第一方面的某些實現(xiàn)方式中,該方法還包括:在成功注冊接續(xù)服務和回調之后,定時查詢第一應用的進程是否退出。
15、在本技術中,終端設備通過定時查詢第一應用的進程是否退出,以此來及時監(jiān)測第一應用的進程的狀態(tài)。
16、示例性地,終端設備通過電腦管家定時向第一應用發(fā)送?;畎?,若第一應用的進程還在運行,則電腦管家可以成功發(fā)送?;畎?;若第一應用的進程異常退出,則電腦管家無法成功發(fā)送?;畎=K端設備根據電腦管家是否成功發(fā)送?;畎鼇泶_定第一應用的進程是否已經退出。
17、結合第一方面,在第一方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的發(fā)送端;在第一應用先于電腦管家啟動,或電腦管家的進程異常退出的情況下,該方法還包括:廣播通信回連消息,通信回連消息用于指示第一應用連接電腦管家。基于該至少一個通信通道中的第一通信通道,注冊接續(xù)服務和回調,包括:在基于至少一個通信通道中的第三通信通道接收到通信回連消息的情況下,基于第一通信通道,注冊接續(xù)服務和回調。
18、在本技術中,電腦管家的接續(xù)服務在啟動的過程中,可以廣播通信回連消息,第一應用在第三通信通道接收到通信回連消息之后,可以確定電腦管家已啟動,可以正常連接。因此第一應用可以基于第一通信通道,注冊接續(xù)服務和回調。
19、結合第一方面,在第一方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的接收端;所述響應于用戶點擊所述第一應用的圖標的操作,獲取共享內存中目標比特位的標識,包括:響應于用戶點擊位于終端設備的任務欄的第一應用的圖標的操作,獲取共享內存中目標比特位的標識。
20、在本技術中,作為應用接續(xù)接收端,終端設備的任務欄可以顯示接續(xù)通知,接續(xù)通知可以以第一應用的圖標形式顯示在任務欄。這樣,用戶可以點擊任務欄中的第一應用的圖標以啟動作為接收端的終端設備上的第一應用,進而為第一應用申請用于與電腦管家通信的通信通道,以使第一應用接續(xù)其他設備上的第一應用的接續(xù)數(shù)據,例如,備忘錄的編輯內容、音頻數(shù)據等。
21、結合第一方面,在第一方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的發(fā)送端;響應于用戶點擊第一應用的圖標的操作,獲取共享內存中目標比特位的標識,包括:響應于用戶點擊位于終端設備的桌面或任務欄的第一應用的圖標的操作,獲取共享內存中目標比特位的標識。
22、在本技術中,作為應用接續(xù)的發(fā)送端,終端設備可以在桌面或者任務欄顯示第一應用的圖標。當用戶點擊(例如,雙擊)桌面或者任務欄中的第一應用的圖標之后,終端設備可以啟動作為發(fā)送端的終端設備上的第一應用,并在第一應用中進行相應的操作,例如,編輯備忘錄、播放音樂等。
23、第二方面,提供一種終端設備,包括用于執(zhí)行上述第一方面中任一種可能的實現(xiàn)方式中的方法的獲取模塊和處理模塊。
24、其中,獲取模塊用于:響應于用戶點擊所述第一應用的圖標的操作,獲取共享內存中目標比特位的標識,所述目標比特位是值為第一預設值的比特位,所述第一預設值表示所述目標比特位對應的通信通道未被使用。處理模塊用于:基于目標比特位的標識,確定目標比特位對應的通信標識,通信標識指示用于第一應用和電腦管家通信的至少一個通信通道;基于所述至少一個通信通道實現(xiàn)第一應用與電腦管家之間的數(shù)據傳輸。
25、結合第二方面,在第二方面的某些實現(xiàn)方式中,處理模塊用于:基于對目標比特位的標識的獲取,將目標比特位的值從第一預設值修改為第二預設值,第二預設值表示目標比特位對應的通信通道已被使用。
26、結合第二方面,在第二方面的某些實現(xiàn)方式中,處理模塊用于:基于至少一個通信通道中的第一通信通道,注冊接續(xù)服務和回調。
27、結合第二方面,在第二方面的某些實現(xiàn)方式中,處理模塊用于:在第一應用的進程退出的情況下,將目標比特位的值從第二預設值修改為第一預設值。
28、結合第二方面,在第二方面的某些實現(xiàn)方式中,處理模塊用于:基于該至少一個通信通道中的第二通信通道,解除注冊接續(xù)服務和回調;以及,基于對接續(xù)服務和回調的解除注冊,確定第一應用的進程退出。
29、結合第二方面,在第二方面的某些實現(xiàn)方式中,處理模塊用于:在成功注冊接續(xù)服務和回調之后,定時查詢第一應用的進程是否退出。
30、結合第二方面,在第二方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的發(fā)送端。在第一應用先于電腦管家啟動,或電腦管家的進程異常退出的情況下,處理模塊用于:廣播通信回連消息,通信回連消息用于指示第一應用連接電腦管家;以及,在基于至少一個通信通道中的第三通信通道接收到通信回連消息的情況下,基于第一通信通道,注冊接續(xù)服務和回調。
31、結合第二方面,在第二方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的接收端。處理模塊用于:響應于用戶點擊位于終端設備的任務欄的第一應用的圖標的操作,獲取共享內存中目標比特位的標識。
32、結合第二方面,在第二方面的某些實現(xiàn)方式中,終端設備為應用接續(xù)的發(fā)送端。處理模塊用于:響應于用戶點擊位于終端設備的桌面或任務欄的第一應用的圖標的操作,獲取共享內存中目標比特位的標識。
33、第三方面,提供了另一種終端設備,包括處理器和存儲器,該處理器與存儲器耦合,該存儲器可用于存儲計算機程序,該處理器可用于調用并執(zhí)行存儲器中的計算機程序,以實現(xiàn)上述第一方面中任一種可能實現(xiàn)方式中的方法。
34、第四方面,提供了一種處理器,包括:輸入電路、輸出電路和處理電路。處理電路用于通過輸入電路接收信號,并通過輸出電路發(fā)射信號,使得處理器執(zhí)行上述第一方面中任一種可能實現(xiàn)方式中的方法。
35、在具體實現(xiàn)過程中,上述處理器可以為芯片,輸入電路可以為輸入管腳,輸出電路可以為輸出管腳,處理電路可以為晶體管、門電路、觸發(fā)器和各種邏輯電路等。輸入電路所接收的輸入的信號可以是由例如但不限于接收器接收并輸入的,輸出電路所輸出的信號可以是例如但不限于輸出給發(fā)射器并由發(fā)射器發(fā)射的,且輸入電路和輸出電路可以是同一電路,該電路在不同的時刻分別用作輸入電路和輸出電路。本技術對處理器及各種電路的具體實現(xiàn)方式不作限制。
36、第五方面,提供了一種處理裝置,包括處理器和存儲器。該處理器用于讀取存儲器中存儲的指令,并可通過接收器接收信號,通過發(fā)射器發(fā)射信號,以執(zhí)行上述第一方面中任一種可能實現(xiàn)方式中的方法。
37、可選地,處理器為一個或多個,存儲器為一個或多個。
38、可選地,存儲器可以與處理器集成在一起,或者存儲器與處理器分離設置。
39、在具體實現(xiàn)過程中,存儲器可以為非瞬時性(non-transitory)存儲器,例如只讀存儲器(read?only?memory,rom),其可以與處理器集成在同一塊芯片上,也可以分別設置在不同的芯片上,本技術對存儲器的類型以及存儲器與處理器的設置方式不作限制。
40、應理解,相關的數(shù)據交互過程例如發(fā)送指示信息可以為從處理器輸出指示信息的過程,接收能力信息可以為處理器接收輸入能力信息的過程。具體地,處理輸出的數(shù)據可以輸出給發(fā)射器,處理器接收的輸入數(shù)據可以來自接收器。其中,發(fā)射器和接收器可以統(tǒng)稱為收發(fā)器。
41、上述第五方面中的處理裝置可以是一個芯片,該處理器可以通過硬件來實現(xiàn)也可以通過軟件來實現(xiàn),當通過硬件實現(xiàn)時,該處理器可以是邏輯電路、集成電路等;當通過軟件來實現(xiàn)時,該處理器可以是一個通用處理器,通過讀取存儲器中存儲的軟件代碼來實現(xiàn),該存儲器可以集成在處理器中,可以位于該處理器之外,獨立存在。
42、第六方面,提供了一種計算機程序產品,計算機程序產品包括:計算機程序代碼,當該計算機程序代碼被運行時,使得計算機執(zhí)行上述第一方面中任一種可能實現(xiàn)方式中的方法。
43、第七方面,提供了一種計算機可讀存儲介質,該計算機可讀存儲介質存儲有計算機程序,當該計算機程序被運行時,使得計算機執(zhí)行上述第一方面中任一種可能實現(xiàn)方式中的方法。