Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及智能電視安卓應(yīng)用領(lǐng)域,特別涉及一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,基于Android系統(tǒng)的智能電視逐漸走入普通用戶的家庭。目前,許多Android系統(tǒng)智能電視的應(yīng)用,尤其是包含Service的應(yīng)用都開始使用懸浮界面(View)作為實(shí)現(xiàn)某個(gè)具體功能的UI界面,但懸浮界面并不像Activity組件一樣可以互斥,所以經(jīng)常會(huì)出現(xiàn)多個(gè)懸浮界面重疊遮蓋的情況,這樣用戶很難分清當(dāng)前到底是在操控哪個(gè)懸浮界面,極大的影響了 Android電視的使用流暢度,影響了用戶體驗(yàn)。
[0003]因此,如何讓用戶直觀、高效的操控懸浮界面顯的尤為重要。
【發(fā)明內(nèi)容】
[0004]【要解決的技術(shù)問題】
[0005]本發(fā)明的目的是提供一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法及系統(tǒng),以解決目前用戶在Android系統(tǒng)智能電視上操控應(yīng)用的懸浮界面時(shí),多個(gè)應(yīng)用界面的疊加遮蓋導(dǎo)致當(dāng)前操作不便的問題。
[0006]【技術(shù)方案】
[0007]本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。
[0008]本發(fā)明首先涉及一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法,該方法包括步驟:
[0009]A、在一個(gè)懸浮界面被呼出時(shí),在Android窗口管理服務(wù)中遍歷所有的窗口,當(dāng)查找到顯示的并可操控的懸浮界面時(shí),調(diào)用Android回調(diào)接口將查找到的懸浮界面設(shè)為不可見;
[0010]B、將步驟A中設(shè)為不可見的懸浮界面依次以堆棧列表的形式保存在Android窗口管理服務(wù)中;
[0011]C、當(dāng)顯示的懸浮界面退出時(shí),調(diào)用Android窗口管理服務(wù)的擴(kuò)展接口判斷步驟B中保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面,調(diào)用Android回調(diào)接口將選取的懸浮界面設(shè)為可見。
[0012]作為一種優(yōu)選的實(shí)施方式,所述步驟A中顯示的并可操控的懸浮界面為Visibility 屬性為 VISIBLE、包含 Focus、窗口類型為 SYSTEM_WIND0W 的窗口。
[0013]本發(fā)明還涉及一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)系統(tǒng),包括:
[0014]懸浮界面隱藏模塊,其被配置成在一個(gè)懸浮界面被呼出時(shí),在Android窗口管理服務(wù)中遍歷所有的窗口,當(dāng)查找到顯示的并可操控的懸浮界面時(shí),調(diào)用Android回調(diào)接口將查找到的懸浮界面設(shè)為不可見;
[0015]懸浮界面保存模塊,其被配置成:將懸浮界面隱藏模塊中設(shè)為不可見的懸浮界面依次以堆棧列表的形式保存在Android窗口管理服務(wù)中;
[0016]懸浮界面重現(xiàn)模塊,其被配置成:當(dāng)顯示的懸浮界面退出時(shí),調(diào)用Andro i d窗口管理服務(wù)的擴(kuò)展接口判斷懸浮界面保存模塊保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面,調(diào)用Android回調(diào)接口將選取的懸浮界面設(shè)為可見。
[0017]作為另一種優(yōu)選的實(shí)施方式,所述顯示的并可操控的懸浮界面為Visibility屬性為 VISIBLE、包含 Focus、窗口類型為 SYSTEM_WIND0W 的窗口。
[0018]【有益效果】
[0019]本發(fā)明提出的技術(shù)方案具有以下有益效果:
[0020]本發(fā)明在Android系統(tǒng)增加了一個(gè)對(duì)懸浮界面的顯示控制機(jī)制。具體地,當(dāng)一個(gè)應(yīng)用的懸浮界面被呼出時(shí),若此時(shí)屏幕上還有其他應(yīng)用的懸浮界面,則將其余的懸浮界面隱藏,這種懸浮界面的顯示控制機(jī)制能夠保證當(dāng)前僅顯示被呼出的懸浮界面,當(dāng)用戶操作完當(dāng)前懸浮界面并退出后,將之前隱藏的其它應(yīng)用的懸浮界面顯示出來供用戶繼續(xù)之前的操作。這樣,能夠保證用戶在操控懸浮界面時(shí)不會(huì)出現(xiàn)多個(gè)應(yīng)用的界面疊加遮蓋的問題,使整個(gè)操作過程更流暢、更簡(jiǎn)單、更高效,增強(qiáng)了用戶體驗(yàn)。
【附圖說明】
[0021]圖1為本發(fā)明的實(shí)施例一提供的Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)系統(tǒng)的原理框圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行清楚、完整的描述。
[0023]實(shí)施例一
[0024]圖1為本發(fā)明實(shí)施例一提供的Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)系統(tǒng)的原理框圖。如圖1所示,該系統(tǒng)包括懸浮界面隱藏模塊、懸浮界面保存模塊、懸浮界面重現(xiàn)豐吳塊。
[0025]懸浮界面隱藏模塊被配置成:在一個(gè)懸浮界面被呼出時(shí),在Android窗口管理服務(wù)WindowManagerService中遍歷所有的窗口,當(dāng)查找到顯示的并可操控的懸浮界面時(shí),調(diào)用Android回調(diào)接口 dispatchAppVisibiIity將查找到的懸浮界面設(shè)為不可見。本實(shí)施例中,顯示的并可操控的懸浮界面為Visibility屬性為VISIBLE、包含F(xiàn)ocus、窗口類型為SYSTEM_WINDOW的窗口。
[0026]懸浮界面保存模塊被配置成:將懸浮界面隱藏模塊中設(shè)為不可見的懸浮界面依次以堆桟列表的形式保存在Android窗口管理服務(wù)WindowManagerService中。
[0027]懸浮界面重現(xiàn)模塊被配置成:當(dāng)顯示的懸浮界面退出時(shí),調(diào)用Android窗口管理服務(wù)WindowManagerService的擴(kuò)展接口 isInManualRemovedList判斷懸浮界面保存模塊保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面,調(diào)用Android回調(diào)接口 dispatchAppVisibi Iity將選取的懸浮界面設(shè)為可見。
[0028]實(shí)施例二
[0029]實(shí)施例二提供一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法。該方法包括步驟(I)至步驟(6)。
[0030]步驟(I):應(yīng)用A先呼出一個(gè)懸浮界面。
[0031]步驟(2):應(yīng)用B呼出一個(gè)懸浮界面。
[0032]步驟(3):在AndroidFramework層的窗口服務(wù)WindowManagerService在標(biāo)準(zhǔn)接口addWindow中處理應(yīng)用B的懸浮界面的顯示時(shí),遍歷窗口服務(wù)中保存的窗口列表時(shí),發(fā)現(xiàn)了一個(gè)可見的、含有操控焦點(diǎn)的、窗口類型為SYSTEM_WIND0W的窗口對(duì)象,即應(yīng)用A的懸浮界面。步驟(3)執(zhí)行完后執(zhí)行步驟(4)。
[0033]步驟(4):通過Android標(biāo)準(zhǔn)回調(diào)接口dispatchAppVisibiIity將步驟3中發(fā)現(xiàn)的A界面設(shè)置為不可見,并在窗口服務(wù)WindowManagerService中以堆桟列表的形式將被隱藏了的應(yīng)用A的懸浮界面保存,最晚隱藏的界面在列表最頂端。由于本實(shí)施例僅打開了兩個(gè)懸浮界面,則應(yīng)用A的懸浮界面被保存在堆棧列表的最頂端。步驟(4)執(zhí)行完后執(zhí)行步驟(5)。
[0034]步驟(5):應(yīng)用B的懸浮界面被用戶使用完畢,退出應(yīng)用B的懸浮界面。步驟(5)執(zhí)行完后執(zhí)彳丁步驟(6) ο
[0035]步驟(6):應(yīng)用B的懸浮界面退出時(shí),調(diào)用Android窗口管理服務(wù)WindowManagerService的擴(kuò)展接口 isInManualRemovedList判斷懸浮界面保存模塊保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面(即應(yīng)用A的懸浮界面),調(diào)用Android回調(diào)接口 dispatchAppVisibility將選取的懸浮界面(即應(yīng)用A的懸浮界面)設(shè)為可見,通過Andro i d標(biāo)準(zhǔn)回調(diào)接口 d i spat chAppV isibili ty將界面A重新顯示,使用戶能夠繼續(xù)對(duì)應(yīng)用A的懸浮界面進(jìn)行操作。
[0036]從以上實(shí)施例可以看出,本發(fā)明實(shí)施例在Android系統(tǒng)增加了一個(gè)對(duì)懸浮界面的顯示控制機(jī)制。具體地,當(dāng)一個(gè)應(yīng)用的懸浮界面被呼出時(shí),若此時(shí)屏幕上還有其他應(yīng)用的懸浮界面,則將其余的懸浮界面隱藏,這種懸浮界面的顯示控制機(jī)制能夠保證當(dāng)前僅顯示被呼出的懸浮界面,當(dāng)用戶操作完當(dāng)前懸浮界面并退出后,將之前隱藏的其它應(yīng)用的懸浮界面顯示出來供用戶繼續(xù)之前的操作。這樣,能夠保證用戶在操控懸浮界面時(shí)不會(huì)出現(xiàn)多個(gè)應(yīng)用的界面疊加遮蓋的問題,使整個(gè)操作過程更流暢、更簡(jiǎn)單、更高效,增強(qiáng)了用戶體驗(yàn)。
[0037]需要說明,上述描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,也不是對(duì)本發(fā)明的限制。基于本發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法,其特征在于包括: A、在一個(gè)懸浮界面被呼出時(shí),在Android窗口管理服務(wù)中遍歷所有的窗口,當(dāng)查找到顯示的并可操控的懸浮界面時(shí),調(diào)用Android回調(diào)接口將查找到的懸浮界面設(shè)為不可見; B、將步驟A中設(shè)為不可見的懸浮界面依次以堆棧列表的形式保存在Android窗口管理服務(wù)中; C、當(dāng)顯示的懸浮界面退出時(shí),調(diào)用Android窗口管理服務(wù)的擴(kuò)展接口判斷步驟B中保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面,調(diào)用Android回調(diào)接口將選取的懸浮界面設(shè)為可見。2.根據(jù)權(quán)利要求1所述的Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法,其特征在于所述步驟A中顯示的并可操控的懸浮界面為Visibi Iity屬性為VISIBLE、包含F(xiàn)ocus、窗口類型為SYSTEM_WINDOW的窗 口。3.—種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)系統(tǒng),其特征在于包括: 懸浮界面隱藏模塊,其被配置成在一個(gè)懸浮界面被呼出時(shí),在Andro id窗口管理服務(wù)中遍歷所有的窗口,當(dāng)查找到顯示的并可操控的懸浮界面時(shí),調(diào)用Android回調(diào)接口將查找到的懸浮界面設(shè)為不可見; 懸浮界面保存模塊,其被配置成:將懸浮界面隱藏模塊中設(shè)為不可見的懸浮界面依次以堆棧列表的形式保存在Android窗口管理服務(wù)中; 懸浮界面重現(xiàn)模塊,其被配置成:當(dāng)顯示的懸浮界面退出時(shí),調(diào)用Android窗口管理服務(wù)的擴(kuò)展接口判斷懸浮界面保存模塊保存的堆棧列表是否為空,若不為空則選取位于堆棧列表頂端的懸浮界面,調(diào)用Android回調(diào)接口將選取的懸浮界面設(shè)為可見。4.根據(jù)權(quán)利要求3所述的Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)系統(tǒng),其特征在于所述顯示的并可操控的懸浮界面為Visibility屬性為VISIBLE、包含F(xiàn)ocus、窗口類型為SYSTEM_WINDOW的窗 口。
【專利摘要】本發(fā)明涉及智能電視安卓應(yīng)用領(lǐng)域,提供一種Android系統(tǒng)智能電視懸浮界面互斥功能的實(shí)現(xiàn)方法及系統(tǒng),以解決目前用戶在Android系統(tǒng)智能電視上操控應(yīng)用的懸浮界面時(shí),多個(gè)應(yīng)用界面的疊加遮蓋導(dǎo)致當(dāng)前操作不便的問題,系統(tǒng)包括懸浮界面隱藏模塊、懸浮界面保存模塊、懸浮界面重現(xiàn)模塊。本發(fā)明提出的技術(shù)方案能夠保證用戶在操控懸浮界面時(shí)不會(huì)出現(xiàn)多個(gè)應(yīng)用的界面疊加遮蓋的問題,使整個(gè)操作過程更流暢、更簡(jiǎn)單、更高效,增強(qiáng)了用戶體驗(yàn)。
【IPC分類】H04N21/443, H04N21/431
【公開號(hào)】CN105516782
【申請(qǐng)?zhí)枴緾N201510907191
【發(fā)明人】曾琦凌, 楊金煒, 李足紅, 羅曉燕
【申請(qǐng)人】四川長(zhǎng)虹電器股份有限公司
【公開日】2016年4月20日
【申請(qǐng)日】2015年12月10日