一種應(yīng)用程序的分身方法及終端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用程序的分身方法及終端。
【背景技術(shù)】
[0002] 隨著移動互聯(lián)網(wǎng)的發(fā)展,用戶對終端應(yīng)用程序APP的需求越來越豐富。在日常 使用終端的過程中,用戶會有多個賬號需要同時登陸同一APP的需要,例如,針對微博,用 戶的多個賬號需要同時登陸使用,或針對某款游戲,用戶的多個賬號,需要同時登陸滿足切 換、交易等方便操作。
[0003] 但是,大部分終端的一個應(yīng)用程序只能登陸一個賬號,登錄其他賬號則需要切換 賬號,無法同時在線登陸?,F(xiàn)有技術(shù)中,多賬號的登錄通過篡改第三方包名來實現(xiàn),但是該 方法存在穩(wěn)定性差,操作復(fù)雜,交互邏輯復(fù)雜,體驗不好的問題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例提供一種應(yīng)用程序的分身方法及終端,用以解決現(xiàn)有技術(shù)多賬號登 錄方法穩(wěn)定性差,操作復(fù)雜,交互邏輯復(fù)雜,體驗不好的問題。
[0005] 為了解決上述技術(shù)問題,本發(fā)明實施例提供一種應(yīng)用程序的分身方法,包括:
[0006] 接收針對一應(yīng)用程序的分身請求;
[0007] 根據(jù)所述分身請求,創(chuàng)建所述應(yīng)用程序的分身應(yīng)用圖標(biāo);
[0008] 利用一實例標(biāo)識符標(biāo)記所述分身應(yīng)用圖標(biāo),其中,所述實例標(biāo)識符與所述應(yīng)用程 序的分身進(jìn)程的進(jìn)程標(biāo)識符相對應(yīng);
[0009] 當(dāng)檢測到所述分身應(yīng)用圖標(biāo)被點擊時,根據(jù)所述實例標(biāo)識符,生成相應(yīng)的分身進(jìn) 程。
[0010] 本發(fā)明實施例還提供一種終端,包括:
[0011] 接收模塊,用于接收針對一應(yīng)用程序的分身請求;
[0012] 創(chuàng)建模塊,用于根據(jù)所述分身請求,創(chuàng)建所述應(yīng)用程序的分身應(yīng)用圖標(biāo);
[0013] 標(biāo)記模塊,用于利用一實例標(biāo)識符標(biāo)記所述分身應(yīng)用圖標(biāo),其中,所述實例標(biāo)識符 與所述應(yīng)用程序的分身進(jìn)程的進(jìn)程標(biāo)識符相對應(yīng);
[0014] 生成模塊,用于當(dāng)檢測到所述分身應(yīng)用圖標(biāo)被點擊時,根據(jù)所述實例標(biāo)識符,生成 相應(yīng)的分身進(jìn)程。
[0015] 本發(fā)明實施例提供的應(yīng)用程序的分身方法,通過接收針對一應(yīng)用程序的分身請 求,根據(jù)所述分身請求,創(chuàng)建所述應(yīng)用程序的分身應(yīng)用圖標(biāo),利用一實例標(biāo)識符標(biāo)記所述分 身應(yīng)用圖標(biāo),所述實例標(biāo)識符與所述應(yīng)用程序的分身進(jìn)程的進(jìn)程標(biāo)識符相對應(yīng),當(dāng)檢測到 所述分身應(yīng)用圖標(biāo)被點擊時,根據(jù)所述實例標(biāo)識符,生成相應(yīng)的分身進(jìn)程,不僅能夠?qū)崿F(xiàn)應(yīng) 用程序的分身,還操作簡便,帶來便捷智能的應(yīng)用程序分身體驗。
【附圖說明】
[0016] 圖1表示本發(fā)明應(yīng)用程序的分身方法第一實施例的流程圖。
[0017] 圖2表示本發(fā)明應(yīng)用程序的分身方法第二實施例的流程圖。
[0018] 圖3表示本發(fā)明終端的第三實施例的結(jié)構(gòu)示意圖。
[0019] 圖4表示本發(fā)明終端的第三實施例的另一結(jié)構(gòu)示意圖。
[0020] 圖5表示本發(fā)明接收分身請求的第一種方式的示意圖。
[0021] 圖6表示本發(fā)明接收分身請求的第二種方式的示意圖。
[0022] 圖7表示本發(fā)明接收分身請求的第三種方式的示意圖。
[0023] 圖8表示本發(fā)明接收分身請求的第五種方式的示意圖。
【具體實施方式】
[0024] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0025] 第一實施例
[0026] 參見圖1所示,本發(fā)明實施例提供一種應(yīng)用程序的分身方法,用于一終端,包括:
[0027] 步驟101 :接收針對一應(yīng)用程序的分身請求;
[0028] 其中,可接收分身請求的應(yīng)用程序例如微信、QQ和淘寶,是要通過終端進(jìn)行預(yù)設(shè) 的。只有應(yīng)用程序被預(yù)設(shè)為可分身,才能接收到分身請求。
[0029] 具體的,分身應(yīng)用程序是指雙開或多開所述應(yīng)用程序,以實現(xiàn)在Android系統(tǒng)下, 一個應(yīng)用程序能夠同時打開兩個或多個進(jìn)程,且所述兩個或多個進(jìn)程同時運行。
[0030] 步驟102 :根據(jù)所述分身請求,創(chuàng)建所述應(yīng)用程序的分身應(yīng)用圖標(biāo);
[0031] 其中,所述分身應(yīng)用圖標(biāo)是相對所述應(yīng)用程序的應(yīng)用圖標(biāo)而言的。通常情況下,終 端中的應(yīng)用程序都會在終端桌面上有一個對應(yīng)的開啟圖標(biāo),即應(yīng)用圖標(biāo)。當(dāng)用戶點擊所述 應(yīng)用圖標(biāo)時,終端會啟動相應(yīng)的應(yīng)用程序,運行一個獨立的進(jìn)程。
[0032] 本發(fā)明實施例中,因點擊應(yīng)用圖標(biāo)運行的獨立進(jìn)程是源進(jìn)程,所述分身應(yīng)用圖標(biāo) 用于生成分身進(jìn)程。具體的,所述分身進(jìn)程是啟動應(yīng)用程序后,生成的不同于源進(jìn)程的獨立 進(jìn)程,具有獨立的運行環(huán)境,所述運行環(huán)境包括活動Activity、服務(wù)Service、內(nèi)容提供者 ContentProvider和廣播接收器BroadcastReceiver等。
[0033] 需要說明的是,在本發(fā)明實施例中,應(yīng)用圖標(biāo)和分身應(yīng)用圖標(biāo)的名稱可以相同,也 可以不同,本發(fā)明不對其進(jìn)行限制。以QQ為例,應(yīng)用圖標(biāo)的名稱為QQ,而分身應(yīng)用圖標(biāo)的名 稱可以為QQ,也可以為QQl。
[0034] 且所述應(yīng)用圖標(biāo)和分身應(yīng)用圖標(biāo)的顯示方式可以相同,也可以不同。例如,與應(yīng)用 圖標(biāo)相比,分身應(yīng)用圖標(biāo)可以在其左上角或右上角添加" ☆"。
[0035] 所述分身應(yīng)用圖標(biāo)的顯示位置可以是應(yīng)用圖標(biāo)的鄰近位置,例如在應(yīng)用圖標(biāo)的后 面順位出現(xiàn)一個同名的分身應(yīng)用圖標(biāo)。如果所述應(yīng)用圖標(biāo)的鄰近位置不是空位,而被其他 圖標(biāo)占用,則可通過終端設(shè)置,使得在分身應(yīng)用圖標(biāo)出現(xiàn)的同時,其他圖標(biāo)往后順延。如果 所述應(yīng)用圖標(biāo)剛好位于一屏幕界面的最后一個位置,則所述分身應(yīng)用圖標(biāo)出現(xiàn)在下一屏幕 界面。
[0036] 步驟103 :利用一實例標(biāo)識符標(biāo)記所述分身應(yīng)用圖標(biāo),其中,所述實例標(biāo)識符與所 述應(yīng)用程序的分身進(jìn)程的進(jìn)程標(biāo)識符相對應(yīng);
[0037] 為了保證同一應(yīng)用程序的不同進(jìn)程的生成,本發(fā)明采用隔離不同進(jìn)程的方式來實 現(xiàn)。具體的,利用不同的實例標(biāo)識符InstandID標(biāo)記應(yīng)用圖標(biāo)或分身應(yīng)用圖標(biāo),即標(biāo)記應(yīng)用 圖標(biāo)或分身應(yīng)用圖標(biāo)對應(yīng)的應(yīng)用程序入口,以生成對應(yīng)的進(jìn)程。
[0038] 終端中已預(yù)設(shè)了InstandID和進(jìn)程標(biāo)識符PID的對應(yīng)關(guān)系。當(dāng)創(chuàng)建所述應(yīng)用程 序的分身應(yīng)用圖標(biāo)后,終端會利用一實例標(biāo)識符InstandID標(biāo)記所述分身應(yīng)用圖標(biāo),所述 InstandID與所述應(yīng)用程序的分身進(jìn)程的進(jìn)程標(biāo)識符PID相對應(yīng)。并且,所述應(yīng)用程序的應(yīng) 用圖標(biāo)在創(chuàng)建后,也會被InstandID標(biāo)記,所述應(yīng)用圖標(biāo)的InstandID與所述應(yīng)用程序的源 進(jìn)程的PID相對應(yīng)。其中,所述源進(jìn)程的PID與所述分身進(jìn)程的PID不同,且各進(jìn)程的PID 是唯一的。
[0039] 步驟104:當(dāng)檢測到所述分身應(yīng)用圖標(biāo)被點擊時,根據(jù)所述實例標(biāo)識符,生成相應(yīng) 的分身進(jìn)程。
[0040] 實際應(yīng)用中,終端在檢測到所述分身應(yīng)用圖標(biāo)被點擊后,會獲得相應(yīng)的 InstandID。由于InstandID與PID的對應(yīng)關(guān)系,終端會確定出對應(yīng)的PID,以生成分身進(jìn) 程。
[0041] 以微信為例,終端已預(yù)設(shè)應(yīng)用程序微信可進(jìn)行分身,并預(yù)設(shè)了InstandID和PID的 對應(yīng)關(guān)系,如下表1 :
[0042]
[0043] 表 1
[0044] 在進(jìn)行分身之前,應(yīng)用程序微信在終端桌面上具有一應(yīng)用圖標(biāo),名稱為"微信",被 標(biāo)記為0,即所述應(yīng)用圖標(biāo)對應(yīng)的應(yīng)用程序入口被標(biāo)記為0 ;當(dāng)接收到針對微信的分身請求 后,所述終端在終端桌面上創(chuàng)建了所述微信的分身應(yīng)用圖標(biāo),名稱為"克隆-微信",并被標(biāo) 記為1。
[0045] 當(dāng)用戶點擊應(yīng)用圖標(biāo)"微信"時,所述終端會生成PID為12345的源進(jìn)程,而用戶 點擊分身應(yīng)用圖標(biāo)"克隆-微信"時,所述終端會生成PID為12346的分身進(jìn)程,以實現(xiàn)兩 個微信進(jìn)程的同時運行。
[0046] 這樣,如果用戶有兩個微信賬號,可同時登陸。并且,當(dāng)與多任務(wù)智能分屏的功能 結(jié)合時,可實現(xiàn)在同一屏幕上同時雙開微信,登陸兩個微信賬號進(jìn)行同屏操作。而通過與訪 客模式、隱私空間等特殊系統(tǒng)模式的結(jié)合,能夠?qū)崿F(xiàn)同樣的程序在同一時間,分別在不同空 間或桌面內(nèi)同時在線登錄。
[0047] 本發(fā)明實施例的應(yīng)用程序的分身方法,通過接收針對一應(yīng)用程序的分身請求,根 據(jù)所述分身請求,創(chuàng)建所述應(yīng)用程序的分身應(yīng)用圖標(biāo),利用一實例標(biāo)識符標(biāo)記所述分身應(yīng) 用圖標(biāo),所述實例標(biāo)識符與所述應(yīng)用程序的分身進(jìn)程的進(jìn)程標(biāo)識符相對應(yīng),當(dāng)檢測到所述 分身應(yīng)用圖標(biāo)被點擊時,根據(jù)所述實例標(biāo)識符,生成相應(yīng)的分身進(jìn)程,不僅能夠?qū)崿F(xiàn)應(yīng)用程 序的分身,還操作簡便,帶來便捷智能的應(yīng)用程序分身體驗。
[0048] 第二實施例
[0049] 參見圖2所述,本發(fā)明實施例還一種應(yīng)用程序的分身方法,用于一終端,包括:
[0050] 步驟201 :根據(jù)用戶對一應(yīng)用程序的應(yīng)用圖標(biāo)的編輯操作,接收針對所述應(yīng)用程 序