本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種懸浮窗的管理方法與管理裝置。
背景技術(shù):
在移動(dòng)互聯(lián)網(wǎng)時(shí)代,智能終端如智能手機(jī)越來(lái)越普及,已成為人們?nèi)粘I钪械囊环N重要工具。為了滿足人們各種各樣的需求,移動(dòng)終端的應(yīng)用程序也越來(lái)越豐富。同時(shí),各應(yīng)用程序的開(kāi)發(fā)商為了提高自己的應(yīng)用程序與用戶交互的親密度,大多采用了懸浮窗技術(shù),即當(dāng)應(yīng)用程序退到后臺(tái)時(shí),在桌面或者其他應(yīng)用程序界面懸浮地顯示一個(gè)窗口(以下簡(jiǎn)稱“懸浮窗”),以希望能夠讓用戶及時(shí)地看到該應(yīng)用程序上的相關(guān)信息。此外,該懸浮窗可接收用戶的操作如點(diǎn)擊即用戶可直接在該懸浮窗上進(jìn)行點(diǎn)擊操作,該懸浮窗可以響應(yīng)該用戶的操作并執(zhí)行相應(yīng)的功能,如開(kāi)啟或關(guān)閉該應(yīng)用程序等。
然而,這種懸浮窗通常會(huì)給用戶帶來(lái)苦惱,因?yàn)閼腋〉膽?yīng)用程序窗口會(huì)將遮擋其他界面上的內(nèi)容,并且當(dāng)用戶在該區(qū)域點(diǎn)擊時(shí),很可能會(huì)出現(xiàn)誤操作即用戶本意是要操作懸浮窗下面的界面但往往是該懸浮窗接收到用戶的操作;又或者,用戶為了避免這樣的誤操作,需要先將該懸浮窗移動(dòng)到想操作的位置或區(qū)域之外,這無(wú)疑都降低了用戶的使用體驗(yàn)。
另外,懸浮窗口會(huì)使對(duì)應(yīng)的應(yīng)用的優(yōu)先級(jí)升高,在內(nèi)存不足的情況下,終端系統(tǒng)無(wú)法對(duì)有懸浮窗的應(yīng)用進(jìn)行相應(yīng)的回收處理,如此導(dǎo)致移動(dòng)終端的性能和功耗下降。
因此,有必要對(duì)移動(dòng)終端設(shè)備的懸浮窗進(jìn)行有效的管理。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,有必要提供一種可對(duì)懸浮窗進(jìn)行有效管理的管理方法與裝置,以解決上述問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例中提供了一種懸浮窗的管理方法。該管理方法包括以下步驟:
接收添加一顯示于系統(tǒng)桌面的懸浮窗的請(qǐng)求,其中,每一所述懸浮窗對(duì)應(yīng)于一應(yīng)用程序;
識(shí)別所請(qǐng)求添加的懸浮窗是否為toast懸浮窗;
當(dāng)所請(qǐng)求添加的懸浮窗為toast懸浮窗時(shí),識(shí)別所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序的類型,其中,應(yīng)用程序的類型為第三方應(yīng)用程序或系統(tǒng)應(yīng)用程序;
當(dāng)所所對(duì)應(yīng)的應(yīng)用程序?yàn)橄到y(tǒng)應(yīng)用程序時(shí),添加所請(qǐng)求的toast懸浮窗并將所添加的toast懸浮窗顯示于系統(tǒng)桌面上;
當(dāng)所對(duì)應(yīng)的應(yīng)用程序?yàn)榈谌綉?yīng)用程序時(shí),將所要添加的toast懸浮窗的類型更改為toastalert懸浮窗,其中,該toastalert懸浮窗的添加受權(quán)限開(kāi)關(guān)的管控;
以及根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控。
在其中一些實(shí)施例中,所述根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控包括:
當(dāng)所述權(quán)限開(kāi)關(guān)處于開(kāi)啟狀態(tài)時(shí),添加所請(qǐng)求的toastalert懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
在其中一些實(shí)施例中,所述根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控包括:
當(dāng)所述權(quán)限開(kāi)關(guān)處于關(guān)閉狀態(tài)時(shí),響應(yīng)所述請(qǐng)求添加所述toastalert懸浮窗并顯示于系統(tǒng)桌面。
在其中一些實(shí)施例中,當(dāng)所請(qǐng)求添加的懸浮窗不是toast懸浮窗時(shí),識(shí)別所請(qǐng)求添加的懸浮窗是否為畫(huà)中畫(huà)懸浮窗,其中,該畫(huà)中畫(huà)懸浮窗顯示于系統(tǒng)桌面需依賴一toast懸浮窗;以及
當(dāng)所請(qǐng)求添加的懸浮窗為畫(huà)中畫(huà)懸浮窗時(shí),識(shí)別所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前是否顯示于系統(tǒng)桌面。
在其中一些實(shí)施例中,當(dāng)所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前顯示于系統(tǒng)桌面時(shí),響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的懸浮窗并將所添加的畫(huà)中畫(huà)懸浮窗附著于顯示于系統(tǒng)桌面上的toast懸浮窗。
在其中一些實(shí)施例中,當(dāng)所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前未顯示于系統(tǒng)桌面時(shí),響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的畫(huà)中畫(huà)懸浮窗,并將所添加的畫(huà)中畫(huà)懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
在其中一些實(shí)施例中,所述統(tǒng)一管理區(qū)域?yàn)橄到y(tǒng)桌面上的一子區(qū)域,當(dāng)一懸浮窗添加到所述統(tǒng)一管理區(qū)域內(nèi)時(shí),所述統(tǒng)一管理區(qū)域內(nèi)顯示有表征該懸浮窗的圖標(biāo)。
在其中一些實(shí)施例中,當(dāng)位于所述統(tǒng)一管理區(qū)域內(nèi)的表征該懸浮窗的圖標(biāo)接收預(yù)設(shè)的用戶操作時(shí),所述懸浮窗顯示于系統(tǒng)桌面上。
在其中一些實(shí)施例中,所述預(yù)設(shè)的操作為將所述表征該懸浮窗的圖標(biāo)由所述統(tǒng)一管理區(qū)域滑出至系統(tǒng)桌面的操作。
較之于現(xiàn)有技術(shù),本發(fā)明提出的懸浮窗的管理方法根據(jù)所請(qǐng)求添加的懸浮窗的類型或?qū)⒃搼腋〈帮@示于系統(tǒng)桌面上,或?qū)ζ溥M(jìn)行權(quán)限管控讓其添加到非系統(tǒng)桌面上的同一管理區(qū)域內(nèi)。如此,可直接不顯示用戶不希望出現(xiàn)的懸浮窗。此外,通過(guò)將懸浮窗顯示到一個(gè)統(tǒng)一的管理區(qū),如此,該懸浮窗的顯示不會(huì)影響用戶對(duì)其他界面的查看和操作。再者,當(dāng)用戶需要觀看懸浮窗的內(nèi)容時(shí),只需施加預(yù)設(shè)的操作例如將懸浮窗從該存放區(qū)拖動(dòng)到主界面上即可,操作簡(jiǎn)單方便,提高了用戶的使用體驗(yàn)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種懸浮窗的管理裝置。該管理裝置包括一接收模塊、一識(shí)別模塊、一添加模塊、一更改模塊、以及控制模塊。其中,所述接收模塊用于接收添加一顯示于系統(tǒng)桌面的懸浮窗的請(qǐng)求,其中,每一所述懸浮窗對(duì)應(yīng)于一應(yīng)用程序。所述識(shí)別模塊用于識(shí)別所請(qǐng)求添加的懸浮窗是否為toast懸浮窗。當(dāng)所請(qǐng)求添加的懸浮窗為toast懸浮窗時(shí),所述識(shí)別模塊還識(shí)別所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序的類型,其中,應(yīng)用程序的類型為第三方應(yīng)用程序或系統(tǒng)應(yīng)用程序。所述添加模塊用于當(dāng)所所對(duì)應(yīng)的應(yīng)用程序?yàn)橄到y(tǒng)應(yīng)用程序時(shí)添加所請(qǐng)求的toast懸浮窗并將所添加的toast懸浮窗顯示于系統(tǒng)桌面上。所述更改模塊用于當(dāng)所對(duì)應(yīng)的應(yīng)用程序?yàn)榈谌綉?yīng)用程序時(shí)將所要添加的toast懸浮窗的類型更改為toastalert懸浮窗,其中,該toastalert懸浮窗的添加受權(quán)限開(kāi)關(guān)的管控。所述控制模塊用于根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控。
較之于現(xiàn)有技術(shù),本發(fā)明提出的懸浮窗的管理裝置根據(jù)所請(qǐng)求添加的懸浮窗的類型或?qū)⒃搼腋〈帮@示于系統(tǒng)桌面上,或?qū)ζ溥M(jìn)行權(quán)限管控讓其添加到非系統(tǒng)桌面上的同一管理區(qū)域內(nèi)。如此,可直接不顯示用戶不希望出現(xiàn)的懸浮窗。此外,通過(guò)將懸浮窗顯示到一個(gè)統(tǒng)一的管理區(qū),如此,該懸浮窗的顯示不會(huì)影響用戶對(duì)其他界面的查看和操作。再者,當(dāng)用戶需要觀看懸浮窗的內(nèi)容時(shí),只需施加預(yù)設(shè)的操作例如將懸浮窗從該存放區(qū)拖動(dòng)到主界面上即可,操作簡(jiǎn)單方便,提高了用戶的使用體驗(yàn)。
附圖說(shuō)明
圖1為實(shí)現(xiàn)本發(fā)明各實(shí)施方式中的懸浮窗的管理系統(tǒng)所運(yùn)行的硬件環(huán)境的示意圖。
圖2為實(shí)現(xiàn)本發(fā)明一實(shí)施方式中圖1所示的懸浮窗的管理系統(tǒng)的功能模塊的示意圖。
圖3為實(shí)現(xiàn)本發(fā)明一實(shí)施方式中懸浮窗的管理方法的步驟流程圖。
圖4為實(shí)現(xiàn)本發(fā)明另一實(shí)施方式中懸浮窗的管理方法的步驟流程圖。
具體實(shí)施方式
下面結(jié)合附圖和示例性實(shí)施例對(duì)本發(fā)明作進(jìn)一步地描述,其中附圖中相同的標(biāo)號(hào)全部指的是相同的部件。此外,如果已知技術(shù)的詳細(xì)描述對(duì)于示出本發(fā)明的特征是不必要的,則將其省略。
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或無(wú)線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
現(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說(shuō)明,其本身并沒(méi)有特定的意義。因此,“模塊”與“部件”可以混合地使用。
移動(dòng)終端可以以各種形式來(lái)實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動(dòng)電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個(gè)人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動(dòng)終端以及諸如數(shù)字tv、臺(tái)式計(jì)算機(jī)等等的固定終端。下面,假設(shè)終端設(shè)備是移動(dòng)終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動(dòng)目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
請(qǐng)參見(jiàn)圖1,其示出了本發(fā)明各實(shí)施方式中的懸浮窗的管理裝置200的運(yùn)行環(huán)境的示意圖。該管理裝置200也可一管理系統(tǒng)。該懸浮窗的管理裝置200安裝并運(yùn)行在移動(dòng)終端100上。在本實(shí)施方式中,所述移動(dòng)終端100為手機(jī)、平板電腦、個(gè)人數(shù)字助理、導(dǎo)航裝置等等終端設(shè)備。
移動(dòng)終端100可以包括無(wú)線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測(cè)單元140、輸出單元150、存儲(chǔ)器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動(dòng)終端,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件??梢蕴娲貙?shí)施更多或更少的組件。將在下面詳細(xì)描述移動(dòng)終端的元件。
無(wú)線通信單元110通常包括一個(gè)或多個(gè)組件,其允許移動(dòng)終端100與無(wú)線通信系統(tǒng)或網(wǎng)絡(luò)之間的無(wú)線電通信。例如,無(wú)線通信單元可以包括廣播接收模塊111、移動(dòng)通信模塊112、無(wú)線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個(gè)。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號(hào)和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號(hào)和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號(hào)和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號(hào)可以包括tv廣播信號(hào)、無(wú)線電廣播信號(hào)、數(shù)據(jù)廣播信號(hào)等等。而且,廣播信號(hào)可以進(jìn)一步包括與tv或無(wú)線電廣播信號(hào)組合的廣播信號(hào)。廣播相關(guān)信息也可以經(jīng)由移動(dòng)通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動(dòng)通信模塊112來(lái)接收。廣播信號(hào)可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(dmb)的電子節(jié)目指南(epg)、數(shù)字視頻廣播手持(dvb-h)的電子服務(wù)指南(esg)等等的形式而存在。廣播接收模塊111可以通過(guò)使用各種類型的廣播系統(tǒng)接收信號(hào)廣播。特別地,廣播接收模塊111可以通過(guò)使用諸如多媒體廣播-地面(dmb-t)、數(shù)字多媒體廣播-衛(wèi)星(dmb-s)、數(shù)字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(isdb-t)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號(hào)的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號(hào)和/或廣播相關(guān)信息可以存儲(chǔ)在存儲(chǔ)器160(或者其它類型的存儲(chǔ)介質(zhì))中。
移動(dòng)通信模塊112將無(wú)線電信號(hào)發(fā)送到基站(例如,接入點(diǎn)、節(jié)點(diǎn)b等等)、外部終端以及服務(wù)器中的至少一個(gè)和/或從其接收無(wú)線電信號(hào)。這樣的無(wú)線電信號(hào)可以包括語(yǔ)音通話信號(hào)、視頻通話信號(hào)、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。
無(wú)線互聯(lián)網(wǎng)模塊113支持移動(dòng)終端的無(wú)線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無(wú)線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無(wú)線lan)(wi-fi)、wibro(無(wú)線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍(lán)牙tm、射頻識(shí)別(rfid)、紅外數(shù)據(jù)協(xié)會(huì)(irda)、超寬帶(uwb)、紫蜂tm等等。
位置信息模塊115是用于檢查或獲取移動(dòng)終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統(tǒng))。根據(jù)當(dāng)前的技術(shù),gps模塊115計(jì)算來(lái)自三個(gè)或更多衛(wèi)星的距離信息和準(zhǔn)確的時(shí)間信息并且對(duì)于計(jì)算的信息應(yīng)用三角測(cè)量法,從而根據(jù)經(jīng)度、緯度和高度準(zhǔn)確地計(jì)算三維當(dāng)前位置信息。當(dāng)前,用于計(jì)算位置和時(shí)間信息的方法使用三顆衛(wèi)星并且通過(guò)使用另外的一顆衛(wèi)星校正計(jì)算出的位置和時(shí)間信息的誤差。此外,gps模塊115能夠通過(guò)實(shí)時(shí)地連續(xù)計(jì)算當(dāng)前位置信息來(lái)計(jì)算速度信息。
a/v輸入單元120用于接收音頻或視頻信號(hào)。a/v輸入單元120可以包括相機(jī)121和麥克風(fēng)1220,相機(jī)121對(duì)在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機(jī)121處理后的圖像幀可以存儲(chǔ)在存儲(chǔ)器160(或其它存儲(chǔ)介質(zhì))中或者經(jīng)由無(wú)線通信單元110進(jìn)行發(fā)送,可以根據(jù)移動(dòng)終端的構(gòu)造提供兩個(gè)或更多相機(jī)1210。麥克風(fēng)122可以在電話通話模式、記錄模式、語(yǔ)音識(shí)別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語(yǔ)音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動(dòng)通信模塊112發(fā)送到移動(dòng)通信基站的格式輸出。麥克風(fēng)122可以實(shí)施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號(hào)的過(guò)程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動(dòng)終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤(pán)、鍋?zhàn)衅?、觸摸板(例如,檢測(cè)由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時(shí),可以形成觸摸屏。
感測(cè)單元140檢測(cè)移動(dòng)終端100的當(dāng)前狀態(tài),(例如,移動(dòng)終端100的打開(kāi)或關(guān)閉狀態(tài))、移動(dòng)終端100的位置、用戶對(duì)于移動(dòng)終端100的接觸(即,觸摸輸入)的有無(wú)、移動(dòng)終端100的取向、移動(dòng)終端100的加速或減速移動(dòng)和方向等等,并且生成用于控制移動(dòng)終端100的操作的命令或信號(hào)。例如,當(dāng)移動(dòng)終端100實(shí)施為滑動(dòng)型移動(dòng)電話時(shí),感測(cè)單元140可以感測(cè)該滑動(dòng)型電話是打開(kāi)還是關(guān)閉。另外,感測(cè)單元140能夠檢測(cè)電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。
接口單元170用作至少一個(gè)外部裝置與移動(dòng)終端100連接可以通過(guò)的接口。例如,外部裝置可以包括有線或無(wú)線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無(wú)線數(shù)據(jù)端口、存儲(chǔ)卡端口、用于連接具有識(shí)別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機(jī)端口等等。識(shí)別模塊可以是存儲(chǔ)用于驗(yàn)證用戶使用移動(dòng)終端100的各種信息并且可以包括用戶識(shí)別模塊(uim)、客戶識(shí)別模塊(sim)、通用客戶識(shí)別模塊(usim)等等。另外,具有識(shí)別模塊的裝置(下面稱為"識(shí)別裝置")可以采取智能卡的形式,因此,識(shí)別裝置可以經(jīng)由端口或其它連接裝置與移動(dòng)終端100連接。接口單元170可以用于接收來(lái)自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿?dòng)終端100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在移動(dòng)終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當(dāng)移動(dòng)終端100與外部底座連接時(shí),接口單元170可以用作允許通過(guò)其將電力從底座提供到移動(dòng)終端100的路徑或者可以用作允許從底座輸入的各種命令信號(hào)通過(guò)其傳輸?shù)揭苿?dòng)終端的路徑。從底座輸入的各種命令信號(hào)或電力可以用作用于識(shí)別移動(dòng)終端是否準(zhǔn)確地安裝在底座上的信號(hào)。輸出單元150被構(gòu)造為以視覺(jué)、音頻和/或觸覺(jué)方式提供輸出信號(hào)(例如,音頻信號(hào)、視頻信號(hào)、警報(bào)信號(hào)、振動(dòng)信號(hào)等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報(bào)單元153等等。
顯示單元151可以顯示在移動(dòng)終端100中處理的信息。例如,當(dāng)移動(dòng)終端100處于電話通話模式時(shí),顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(ui)或圖形用戶界面(gui)。當(dāng)移動(dòng)終端100處于視頻通話模式或者圖像捕獲模式時(shí),顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的ui或gui等等。
同時(shí),當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜晶體管lcd(tft-lcd)、有機(jī)發(fā)光二極管(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機(jī)發(fā)光二極管)顯示器等等。根據(jù)特定想要的實(shí)施方式,移動(dòng)終端100可以包括兩個(gè)或更多顯示單元(或其它顯示裝置),例如,移動(dòng)終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測(cè)觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動(dòng)終端處于呼叫信號(hào)接收模式、通話模式、記錄模式、語(yǔ)音識(shí)別模式、廣播接收模式等等模式下時(shí),將無(wú)線通信單元110接收的或者在存儲(chǔ)器160中存儲(chǔ)的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號(hào)并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動(dòng)終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號(hào)接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚(yáng)聲器、蜂鳴器等等。
警報(bào)單元153可以提供輸出以將事件的發(fā)生通知給移動(dòng)終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號(hào)輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報(bào)單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報(bào)單元153可以以振動(dòng)的形式提供輸出,當(dāng)接收到呼叫、消息或一些其它進(jìn)入通信(incomingcommunication)時(shí),警報(bào)單元153可以提供觸覺(jué)輸出(即,振動(dòng))以將其通知給用戶。通過(guò)提供這樣的觸覺(jué)輸出,即使在用戶的移動(dòng)電話處于用戶的口袋中時(shí),用戶也能夠識(shí)別出各種事件的發(fā)生。警報(bào)單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。
存儲(chǔ)器160可以存儲(chǔ)由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲(chǔ)己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲(chǔ)器160可以存儲(chǔ)關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動(dòng)和音頻信號(hào)的數(shù)據(jù)。
存儲(chǔ)器160可以包括至少一種類型的存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括閃存、硬盤(pán)、多媒體卡、卡型存儲(chǔ)器(例如,sd或dx存儲(chǔ)器等等)、隨機(jī)訪問(wèn)存儲(chǔ)器(ram)、靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(sram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、可編程只讀存儲(chǔ)器(prom)、磁性存儲(chǔ)器、磁盤(pán)、光盤(pán)等等。而且,移動(dòng)終端100可以與通過(guò)網(wǎng)絡(luò)連接執(zhí)行存儲(chǔ)器160的存儲(chǔ)功能的網(wǎng)絡(luò)存儲(chǔ)裝置協(xié)作。
控制器180通常控制移動(dòng)終端的總體操作。例如,控制器180執(zhí)行與語(yǔ)音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊1810,多媒體模塊1810可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識(shí)別處理,以將在觸摸屏上執(zhí)行的手寫(xiě)輸入或者圖片繪制輸入識(shí)別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)施。對(duì)于硬件實(shí)施,這里描述的實(shí)施方式可以通過(guò)使用特定用途集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場(chǎng)可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來(lái)實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器180中實(shí)施。對(duì)于軟件實(shí)施,諸如過(guò)程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來(lái)實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z(yǔ)言編寫(xiě)的軟件應(yīng)用程序(或程序)來(lái)實(shí)施,軟件代碼可以存儲(chǔ)在存儲(chǔ)器160中并且由控制器180執(zhí)行。
至此,己經(jīng)按照其功能描述了移動(dòng)終端。下面,為了簡(jiǎn)要起見(jiàn),將描述諸如折疊型、直板型、擺動(dòng)型、滑動(dòng)型移動(dòng)終端等等的各種類型的移動(dòng)終端中的滑動(dòng)型移動(dòng)終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類型的移動(dòng)終端,并且不限于滑動(dòng)型移動(dòng)終端。
請(qǐng)參見(jiàn)圖2,其示出了本發(fā)明一實(shí)施方式中懸浮窗的管理裝置200的功能模塊示意圖。該懸浮窗的管理裝置200包括一接收模塊220、一識(shí)別模塊230、一添加模塊240、一更改模塊250以及一控制模塊260。在另一實(shí)施方式中,該管理裝置200還包括一預(yù)設(shè)模塊210。需要說(shuō)明的是,本發(fā)明所稱的模塊是一種能所述移動(dòng)終端100的處理單元(圖未示)所執(zhí)行并且能夠完成特定功能的一些程序指令段。下面將對(duì)各功能模塊的具體功能進(jìn)行詳細(xì)說(shuō)明。
所述設(shè)置模塊210響應(yīng)用戶的操作預(yù)先設(shè)置添加一懸浮窗的管控權(quán)限。
在本實(shí)施方式中,每一懸浮窗用于對(duì)應(yīng)于一應(yīng)用程序。所述應(yīng)用程序包括,但不限于,系統(tǒng)應(yīng)用程序或第三方應(yīng)用程序。
在本實(shí)施方式中,所述管控權(quán)限是否開(kāi)啟與應(yīng)用程序的類型相關(guān)。所述應(yīng)用程序的類型包括系統(tǒng)應(yīng)用程序及第三方應(yīng)用程序。具體的,當(dāng)所述應(yīng)用程序?yàn)橄到y(tǒng)程序時(shí)則對(duì)所述添加懸浮窗的行為事情不進(jìn)行管控,以及當(dāng)所述應(yīng)用程序?yàn)榈谌綉?yīng)用程序時(shí)則對(duì)所述添加懸浮窗的行為事情進(jìn)行管控。所述不進(jìn)行管控是指該懸浮窗被添加且可直接顯示在系統(tǒng)桌面上。如此,重要的系統(tǒng)信息可通過(guò)懸浮窗的方式呈現(xiàn)在系統(tǒng)桌面上,以便用戶及時(shí)觀看到。所述進(jìn)行管控包括:該懸浮窗被添加但不顯示到系統(tǒng)的桌面上而是顯示到統(tǒng)一的管理區(qū)或直接將所請(qǐng)求懸浮窗移除。從而,該懸浮窗便不會(huì)遮擋住顯示在系統(tǒng)桌面上的信息內(nèi)容。
在另一實(shí)施方式中,所述管控權(quán)限是否開(kāi)啟懸浮窗的類型相關(guān)。其中,懸浮窗的類型包括toast懸浮窗或畫(huà)中畫(huà)懸浮窗。
具體的,當(dāng)所請(qǐng)求添加的懸浮窗為toast懸浮窗時(shí),則根據(jù)該懸浮窗所對(duì)應(yīng)的應(yīng)用程序的類別判斷該管控權(quán)限是否開(kāi)啟。在一實(shí)施方式中,當(dāng)所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序?yàn)橄到y(tǒng)應(yīng)用程序時(shí),則對(duì)添加該懸浮窗的行為事情的管控權(quán)限不開(kāi)啟,即可直接添加所請(qǐng)求的懸浮窗并將所述懸浮窗顯示于系統(tǒng)桌面上。當(dāng)所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序?yàn)榈谌綉?yīng)用程序時(shí),則將請(qǐng)求添加的懸浮窗的類型標(biāo)記為toastalert。其中,該標(biāo)記為toastalert的懸浮窗受管控權(quán)限的控制。其中,該管控權(quán)限包括開(kāi)啟狀態(tài)以及關(guān)閉狀態(tài)。該受管控權(quán)限的控制具體包括:當(dāng)該管控權(quán)限處于開(kāi)啟狀態(tài)時(shí),則添加所請(qǐng)求的懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi);當(dāng)該管控權(quán)限處于關(guān)閉狀態(tài)時(shí),響應(yīng)所述請(qǐng)求添加所述懸浮窗并顯示于系統(tǒng)桌面。
在另一實(shí)施方式中,當(dāng)所請(qǐng)求添加的懸浮窗為畫(huà)中畫(huà)懸浮窗時(shí)(畫(huà)中畫(huà)懸浮窗若顯示于系統(tǒng)桌面上需依賴toast懸浮窗),則進(jìn)一步該畫(huà)中畫(huà)所依賴的toast懸浮窗是否正常顯示于系統(tǒng)桌面上;當(dāng)所依賴的toast懸浮窗正常顯示于系統(tǒng)桌面上時(shí),則響應(yīng)所述請(qǐng)求添加所述懸浮窗并顯示于系統(tǒng)桌面;當(dāng)當(dāng)所依賴的toast懸浮窗未能正常顯示于系統(tǒng)桌面上時(shí),則添加所請(qǐng)求的懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
在另一實(shí)施方式中,所述管控權(quán)限是否開(kāi)啟不僅與應(yīng)用程序的類型有關(guān),還與懸浮窗的類型相關(guān)。具體的,當(dāng)所述應(yīng)用程序?yàn)橄到y(tǒng)程序且所請(qǐng)求添加的懸浮窗為toast懸浮窗時(shí)即所請(qǐng)求添加的懸浮窗為系統(tǒng)toast懸浮窗(簡(jiǎn)稱為系統(tǒng)toast懸浮窗)時(shí),則對(duì)添加該系統(tǒng)應(yīng)用程序所對(duì)應(yīng)的toast懸浮窗的行為事情的管控權(quán)限不開(kāi)啟,即可直接添加所請(qǐng)求的懸浮窗并將所述懸浮窗顯示于系統(tǒng)桌面上。當(dāng)所述應(yīng)用程序?yàn)榈谌綉?yīng)用程序且所請(qǐng)求添加的懸浮窗為toast懸浮窗即所請(qǐng)求添加的懸浮窗為第三方應(yīng)用程序所對(duì)應(yīng)的toast懸浮窗(以下簡(jiǎn)稱第三方toast懸浮窗)時(shí),則將請(qǐng)求添加的懸浮窗的類型標(biāo)記為toastalert懸浮窗。其中,該標(biāo)記為toastalert的懸浮窗受管控權(quán)限的控制。其中,該管控權(quán)限包括開(kāi)啟狀態(tài)以及關(guān)閉狀態(tài)。該受管控權(quán)限的控制具體包括:當(dāng)該管控權(quán)限處于開(kāi)啟狀態(tài)時(shí),則添加所請(qǐng)求的懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi);當(dāng)該管控權(quán)限處于關(guān)閉狀態(tài)時(shí),響應(yīng)所述請(qǐng)求添加所述懸浮窗并顯示于系統(tǒng)桌面。
當(dāng)所請(qǐng)求添加的懸浮窗為需要依賴一顯示于系統(tǒng)桌面上的懸浮窗(即畫(huà)中畫(huà)懸浮窗)時(shí),則所述管控權(quán)限為進(jìn)一步判斷所請(qǐng)求添加的懸浮窗所依賴的toast懸浮窗是否顯示于系統(tǒng)桌面上。所述畫(huà)中畫(huà)懸浮窗是指該顯示窗口懸浮于一顯示于系統(tǒng)桌面的系統(tǒng)應(yīng)用程序上的用于播放視頻或廣告的小窗口,其中,該系統(tǒng)應(yīng)用程序?qū)?yīng)于一系統(tǒng)toast懸浮窗,即該畫(huà)中畫(huà)懸浮窗需依賴一系統(tǒng)toast懸浮窗且所依賴的系統(tǒng)toast懸浮窗顯示在系統(tǒng)桌面上。
具體的,當(dāng)該畫(huà)中畫(huà)懸浮窗所依賴的懸浮窗可以正常顯示于系統(tǒng)桌面時(shí),則響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的懸浮窗并將所添加的畫(huà)中畫(huà)懸浮窗附著于顯示于系統(tǒng)桌面上的懸浮窗下;否則,當(dāng)所述畫(huà)中畫(huà)懸浮窗所依賴的懸浮窗未能正常顯示于系統(tǒng)桌面時(shí),響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的畫(huà)中畫(huà)懸浮窗,并將所添加的畫(huà)中畫(huà)懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
在本實(shí)施方式中,當(dāng)所述懸浮窗顯示于預(yù)設(shè)的統(tǒng)一管理區(qū)中,該管理界面上顯示有表征該懸浮窗的一圖標(biāo);且該圖標(biāo)可以接收用戶預(yù)設(shè)的操作。例如,當(dāng)用戶將該圖標(biāo)由該統(tǒng)一的管理界面滑出至系統(tǒng)桌面時(shí),則與該圖標(biāo)相對(duì)于的懸浮窗將顯示在系統(tǒng)桌面上。在一實(shí)施方式中,該統(tǒng)一的管理區(qū)為系統(tǒng)桌面上的狀態(tài)欄。在本實(shí)施方式中,該同一管理區(qū)域?yàn)槲挥谙到y(tǒng)桌面任務(wù)欄內(nèi)的一個(gè)子區(qū)域。
所述接收模塊220用于接收添加一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
在本實(shí)施方式中,當(dāng)一應(yīng)用程序有前臺(tái)運(yùn)行轉(zhuǎn)為后頭運(yùn)行時(shí),所述接收模塊220便自動(dòng)接收到添加該應(yīng)用程序所對(duì)應(yīng)的一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
在另一實(shí)施方式中,當(dāng)用戶對(duì)該應(yīng)用程序的施加了預(yù)設(shè)的操作如將該應(yīng)用程序從系統(tǒng)桌面上退出時(shí),所述接收模塊220便可接收到添加該應(yīng)用程序所對(duì)應(yīng)的一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
從實(shí)現(xiàn)方法上來(lái)說(shuō),當(dāng)系統(tǒng)后臺(tái)程序獲得到系統(tǒng)的root授權(quán)后,可通過(guò)調(diào)用函數(shù)servicemanger.addview()來(lái)觸發(fā)所述添加一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。通常情況下,當(dāng)一個(gè)應(yīng)用程序需要添加懸浮窗時(shí),系統(tǒng)會(huì)先調(diào)用windowmanager這個(gè)接口,windowmanager的大部分操作都是在其實(shí)現(xiàn)類windowmanagerimpi中實(shí)現(xiàn),即可以實(shí)現(xiàn)創(chuàng)建添加懸浮窗的時(shí)windowmanagerimpi的內(nèi)部類compatmodewrapper,該類的創(chuàng)建是在每個(gè)進(jìn)程開(kāi)始的時(shí)候,通過(guò)getapplication().getsystemservice(context.window_service)得到windowmanager,然后通過(guò)windowmanager調(diào)用addview()添加得到懸浮窗。此外,在addview()傳入的viewgroup.layoutparams中指定type類型。該類型通過(guò)layoutparams參數(shù)傳遞,需要在設(shè)置和更新layoutparams時(shí)監(jiān)聽(tīng)用戶指定的窗口類型。所以,可在viewrootimpl中的setview和setlayoutparams中埋點(diǎn)來(lái)攔截窗口類型。
當(dāng)所述接收模塊220接收到上述請(qǐng)求時(shí),所述識(shí)別模塊230識(shí)別所請(qǐng)求添加的懸浮窗的類型是否為toast懸浮窗。
當(dāng)所請(qǐng)求添加的懸浮窗的類型為toast懸浮窗時(shí),所述接收模塊220還識(shí)別所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序的類型,其中,應(yīng)用程序的類型為第三方應(yīng)用程序或系統(tǒng)應(yīng)用程序?yàn)榈谌綉?yīng)用程序或系統(tǒng)應(yīng)用程序。
當(dāng)所述接收模塊220識(shí)別出所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序?yàn)橄到y(tǒng)應(yīng)用程序時(shí),所述控制模塊260控制添加模塊240添加所請(qǐng)求的toast懸浮窗并將所添加的toast懸浮窗顯示于系統(tǒng)桌面上。
當(dāng)所述接收模塊220識(shí)別出所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序?yàn)榈谌綉?yīng)用程序時(shí),所述控制模塊260控制更改模塊250將所要添加的toast懸浮窗的類型更改為toastalert懸浮窗。其中,該toastalert懸浮窗的添加受權(quán)限開(kāi)關(guān)的管控。所述控制模塊260還根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控。
具體的,在一實(shí)施方式中,當(dāng)所述權(quán)限開(kāi)關(guān)處于開(kāi)啟狀態(tài)時(shí),控制模塊260控制添加模塊240添加所請(qǐng)求的toastalert懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。在另一實(shí)施方式中,當(dāng)所述權(quán)限開(kāi)關(guān)處于關(guān)閉狀態(tài)時(shí),控制模塊260控制添加模塊240響應(yīng)所述請(qǐng)求添加所述toastalert懸浮窗并顯示于系統(tǒng)桌面。
在本發(fā)明的第二實(shí)施方式中,當(dāng)所述接收模塊220接收到上述請(qǐng)求時(shí),所述識(shí)別模塊230識(shí)別所請(qǐng)求添加的懸浮窗的類型不是toast懸浮窗時(shí),還進(jìn)一步判斷所請(qǐng)求添加的懸浮窗是否為畫(huà)中畫(huà)懸浮窗。其中,該畫(huà)中畫(huà)懸浮窗顯示于系統(tǒng)桌面需依賴一toast懸浮窗。
當(dāng)識(shí)別模塊230識(shí)別出所請(qǐng)求添加的懸浮窗為畫(huà)中畫(huà)懸浮窗時(shí),所述控制模塊260還控制該識(shí)別模塊230識(shí)別所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前是否顯示于系統(tǒng)桌面。
在一具體的實(shí)現(xiàn)方式中,當(dāng)所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前顯示于系統(tǒng)桌面時(shí),則響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的懸浮窗并將所添加的畫(huà)中畫(huà)懸浮窗附著于顯示于系統(tǒng)桌面上的toast懸浮窗。在另一具體的實(shí)現(xiàn)方式中,當(dāng)所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前未顯示于系統(tǒng)桌面時(shí),則響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的畫(huà)中畫(huà)懸浮窗,并將所添加的畫(huà)中畫(huà)懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
較之于現(xiàn)有技術(shù),本發(fā)明提出的懸浮窗的管理裝置可讓用戶自行設(shè)置懸浮窗開(kāi)啟或關(guān)閉的權(quán)限;如此,可直接不顯示用戶不希望出現(xiàn)的懸浮窗。此外,還可根據(jù)所請(qǐng)求添加的懸浮窗的類型執(zhí)行不同的管控策略。
在另一實(shí)施方式中,當(dāng)所請(qǐng)求添加的懸浮窗位于預(yù)設(shè)的統(tǒng)一管理區(qū)時(shí),該管理區(qū)上顯示有表征該懸浮窗的一圖標(biāo);且該圖標(biāo)可以接收用戶預(yù)設(shè)的操作。例如,當(dāng)用戶將該圖標(biāo)由該統(tǒng)一的管理區(qū)滑出至系統(tǒng)桌面時(shí),則與該圖標(biāo)相對(duì)于的懸浮窗將顯示在系統(tǒng)桌面上。在一實(shí)施方式中,該預(yù)設(shè)的管理區(qū)位為系統(tǒng)桌面的一子區(qū)域,如該子區(qū)域位于系統(tǒng)桌面的狀態(tài)欄內(nèi)。
再者,當(dāng)用戶需要觀看懸浮窗的內(nèi)容時(shí),只需將懸浮窗從該存放區(qū)拖動(dòng)到主界面上即可,操作簡(jiǎn)單方便,提高了用戶的使用體驗(yàn)。
請(qǐng)參見(jiàn)圖3,其示出了本發(fā)明一實(shí)施方式中懸浮窗的管理方法的步驟流程圖。在本實(shí)施例中,根據(jù)具體的情況,圖3所示的流程圖中步驟的執(zhí)行順序可以改變,某些步驟可以省略。
步驟s301,響應(yīng)用戶的操作預(yù)先設(shè)置添加一懸浮窗的管控權(quán)限。
步驟s301的詳細(xì)內(nèi)容可參見(jiàn)預(yù)設(shè)模塊210的詳細(xì)介紹。
在另一實(shí)施方式中,步驟s301可以省略。
步驟s302,接收添加一顯示于系統(tǒng)主界面的懸浮窗的請(qǐng)求。
具體的,當(dāng)一應(yīng)用程序有前臺(tái)運(yùn)行轉(zhuǎn)為后頭運(yùn)行時(shí),所述接收模塊220便自動(dòng)接收到添加該應(yīng)用程序所對(duì)應(yīng)的一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
在另一實(shí)施方式中,當(dāng)用戶對(duì)該應(yīng)用程序的施加了預(yù)設(shè)的操作如將該應(yīng)用程序從主界面退出時(shí),所述接收模塊220便可接收到添加該應(yīng)用程序所對(duì)應(yīng)的一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
從實(shí)現(xiàn)方法上來(lái)說(shuō),當(dāng)系統(tǒng)后臺(tái)程序獲得到系統(tǒng)的root授權(quán)后,可通過(guò)調(diào)用函數(shù)servicemanger.addview()來(lái)觸發(fā)所述添加一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。通常情況下,當(dāng)一個(gè)應(yīng)用程序需要添加懸浮窗時(shí),系統(tǒng)會(huì)先調(diào)用windowmanager這個(gè)接口,windowmanager的大部分操作都是在其實(shí)現(xiàn)類windowmanagerimpi中實(shí)現(xiàn),即可以實(shí)現(xiàn)創(chuàng)建添加懸浮窗的時(shí)windowmanagerimpi的內(nèi)部類compatmodewrapper,該類的創(chuàng)建是在每個(gè)進(jìn)程開(kāi)始的時(shí)候,通過(guò)getapplication().getsystemservice(context.window_service)得到windowmanager,然后通過(guò)windowmanager調(diào)用addview()添加得到懸浮窗。此外,在addview()傳入的viewgroup.layoutparams中指定type類型。該類型通過(guò)layoutparams參數(shù)傳遞,需要在設(shè)置和更新layoutparams時(shí)監(jiān)聽(tīng)用戶指定的窗口類型。所以,可在viewrootimpl中的setview和setlayoutparams中埋點(diǎn)來(lái)攔截窗口類型。
步驟s303,識(shí)別所請(qǐng)求添加的懸浮窗的類型是否為toast懸浮窗;若是,則執(zhí)行步驟s304;若否,則返回步驟s303。
步驟s304,識(shí)別所請(qǐng)求添加的懸浮窗所對(duì)應(yīng)的應(yīng)用程序的類型,其中,所述應(yīng)用程序的類型為系統(tǒng)應(yīng)用程序或第三方應(yīng)用程序是系統(tǒng)應(yīng)用程序或第三方應(yīng)用程序;若是系統(tǒng)應(yīng)用程序,則執(zhí)行步驟s305;若是第三方應(yīng)用程序,則執(zhí)行步驟s306。
步驟s305,添加所請(qǐng)求的toast懸浮窗并將所添加的toast懸浮窗顯示于系統(tǒng)桌面上。
步驟s306,將所要添加的toast懸浮窗的類型更改為toastalert懸浮窗,其中,該toastalert懸浮窗的添加受權(quán)限開(kāi)關(guān)的管控。
步驟s307,根據(jù)權(quán)限開(kāi)關(guān)的開(kāi)啟狀況對(duì)添加所述toastalert懸浮窗的行為事件實(shí)施相應(yīng)的管控。
在一具體實(shí)施方式中,步驟s307包括:當(dāng)所述權(quán)限開(kāi)關(guān)處于開(kāi)啟狀態(tài)時(shí),添加所請(qǐng)求的toastalert懸浮窗并將所添加的懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
在該實(shí)施方式中,所述統(tǒng)一管理區(qū)域?yàn)橄到y(tǒng)桌面上的一子區(qū)域,當(dāng)一懸浮窗添加到所述統(tǒng)一管理區(qū)域內(nèi)時(shí),所述統(tǒng)一管理區(qū)域內(nèi)顯示有表征該懸浮窗的圖標(biāo)。另外,該表征該懸浮窗的圖標(biāo)可接收用戶的操作,當(dāng)位于所述統(tǒng)一管理區(qū)域內(nèi)的表征該懸浮窗的圖標(biāo)接收預(yù)設(shè)的用戶操作時(shí),所述懸浮窗顯示于系統(tǒng)桌面上。
在另一具體實(shí)施方式中,步驟s307包括:當(dāng)所述權(quán)限開(kāi)關(guān)處于關(guān)閉狀態(tài)時(shí),響應(yīng)所述請(qǐng)求添加所述toastalert懸浮窗并顯示于系統(tǒng)桌面。
較之于現(xiàn)有技術(shù),本發(fā)明提出的懸浮窗的管理裝置可讓用戶自行設(shè)置懸浮窗開(kāi)啟或關(guān)閉的權(quán)限;如此,可直接不顯示用戶不希望出現(xiàn)的懸浮窗。此外,當(dāng)需要顯示懸浮窗時(shí),通過(guò)將懸浮窗顯示到一個(gè)統(tǒng)一的存放區(qū),如此,該懸浮窗的顯示不會(huì)影響用戶對(duì)其他界面的查看和操作。
請(qǐng)參見(jiàn)圖4,其示出了本發(fā)明另一實(shí)施方式中的管理方法的步驟流程圖。在本實(shí)施例中,根據(jù)具體的情況,圖4所示的流程圖中步驟的執(zhí)行順序可以改變,某些步驟可以省略。
步驟s401,接收到添加一顯示于系統(tǒng)主界面的懸浮窗的行為事件的請(qǐng)求。
此步驟的詳情與步驟s302相似,在此不做贅述。
步驟s402,識(shí)別所請(qǐng)求添加的懸浮窗的類型是toast懸浮窗或畫(huà)中畫(huà)懸浮窗;當(dāng)所請(qǐng)求添加的懸浮窗為toast懸浮窗時(shí),則執(zhí)行步驟s403;當(dāng)所請(qǐng)求添加的懸浮窗為畫(huà)中畫(huà)懸浮窗時(shí),則執(zhí)行步驟s404。
需要說(shuō)明的是,步驟s403于步驟s303相同,在此不做贅述。
步驟s404,識(shí)別所述畫(huà)中畫(huà)懸浮窗所依賴的toast懸浮窗當(dāng)前是否顯示于系統(tǒng)桌面;若是,則執(zhí)行步驟s405;若否,則執(zhí)行步驟s406。
步驟s405,響應(yīng)所述請(qǐng)求添加所述懸浮窗并將添加的懸浮窗至于系統(tǒng)桌面上。
具體的,所述畫(huà)中畫(huà)懸浮窗與所依賴的toast懸浮窗一起現(xiàn)示于系統(tǒng)桌面上。
步驟s406,響應(yīng)所述請(qǐng)求添加所述請(qǐng)求的畫(huà)中畫(huà)懸浮窗,并將所添加的畫(huà)中畫(huà)懸浮窗放置在統(tǒng)一的管理區(qū)域內(nèi)。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。