本發(fā)明實(shí)施例涉及顯示技術(shù)領(lǐng)域,特別涉及一種雙屏顯示方法及裝置。
背景技術(shù):
雙屏顯示是指:在電子設(shè)備上通過(guò)主顯示屏和副顯示屏同時(shí)顯示的技術(shù)。Android操作系統(tǒng)的原生顯示機(jī)制通常只支持一個(gè)顯示屏的顯示,也即主顯示屏的顯示。
現(xiàn)有技術(shù)中實(shí)現(xiàn)雙屏顯示的方法,包括:在Android操作系統(tǒng)中,使用原生顯示機(jī)制實(shí)現(xiàn)主顯示屏的顯示;然后通過(guò)重新開(kāi)發(fā)的與原生顯示機(jī)制類(lèi)似的副屏顯示機(jī)制實(shí)現(xiàn)副顯示屏的顯示。該副屏顯示機(jī)制包括從底層驅(qū)動(dòng)程序到應(yīng)用層的一整套設(shè)備相關(guān)接口。
在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
完全重新設(shè)計(jì)一套副屏顯示機(jī)制所需要的開(kāi)發(fā)工作是非常巨大的,而且該副屏顯示機(jī)制無(wú)法與原生顯示機(jī)制完全兼容,使用過(guò)程中會(huì)出現(xiàn)各種兼容性問(wèn)題。比如,在顯示切換場(chǎng)景下,主顯示屏和副顯示屏的顯示畫(huà)面不能完全同步。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題,本發(fā)明實(shí)施例提供了一種雙屏顯示方法及裝置。所述技術(shù)方案如下:
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種雙屏顯示方法,所述方法包括:
檢測(cè)終端是否具有雙顯示屏,所述雙顯示屏包括主顯示屏和副顯示屏;
若所述終端具有所述雙顯示屏,則生成高清晰度多媒體接口HDMI設(shè)備添加事件;
根據(jù)所述HDMI設(shè)備添加事件,將所述副顯示屏作為所述HDMI設(shè)備進(jìn)行初始化;
在所述副顯示屏初始化完畢后進(jìn)行雙屏顯示。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種雙屏顯示裝置,所述裝置包括:
終端檢測(cè)模塊,用于檢測(cè)終端是否具有雙顯示屏,所述雙顯示屏包括主顯示屏和副顯示屏;
事件生成模塊,用于若所述終端具有所述雙顯示屏,則生成高清晰度多媒體接口HDMI設(shè)備添加事件;
初始設(shè)置模塊,用于根據(jù)所述HDMI設(shè)備添加事件,將所述副顯示屏作為所述HDMI設(shè)備進(jìn)行初始化;
雙屏顯示模塊,用于在所述副顯示屏初始化完畢后進(jìn)行雙屏顯示。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示意性的,并不能限制本發(fā)明。
附圖說(shuō)明
圖1是本發(fā)明一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的Android設(shè)備的軟硬件的架構(gòu)示意圖;
圖4是本發(fā)明再一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖;
圖6是本發(fā)明另一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖;
圖7是本發(fā)明再一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖;
圖8是是本發(fā)明一個(gè)實(shí)施例提供的終端的結(jié)構(gòu)方框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明實(shí)施例中提供的雙屏顯示方法可以應(yīng)用在終端中,終端是手機(jī)、平板電腦、電子書(shū)閱讀器、MP3(Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專(zhuān)家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
可選地,該終端設(shè)置有主顯示屏和副顯示屏,副顯示屏為一個(gè)或一個(gè)以上??蛇x地,該終端中的操作系統(tǒng)支持HDMI(High Definition Multimedia Interface,高清晰度多媒體接口)設(shè)備的顯示機(jī)制。比如,該操作系統(tǒng)為Android(安卓)系統(tǒng)、Linux系統(tǒng)、Unix(尤尼斯)系統(tǒng)等。
請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖。本實(shí)施例以該雙屏顯示方法應(yīng)用于終端中來(lái)舉例說(shuō)明。該雙屏顯示方法,包括:
步驟101,檢測(cè)終端是否具有雙顯示屏。
可選地,雙顯示屏包括主顯示屏和副顯示屏。
步驟102,若終端具有雙顯示屏,則生成HDMI設(shè)備添加事件。
步驟103,根據(jù)HDMI設(shè)備添加事件,將副顯示屏作為HDMI設(shè)備進(jìn)行初始化。
步驟104,在副顯示屏初始化完畢后進(jìn)行雙屏顯示。
綜上所述,本實(shí)施例提供的雙屏顯示方法,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
請(qǐng)參考圖2,本發(fā)明另一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖。本發(fā)明實(shí)施例以該雙屏顯示方法應(yīng)用于終端中來(lái)舉例說(shuō)明。該雙屏顯示方法,包括:
步驟201,通過(guò)底層驅(qū)動(dòng)程序檢測(cè)終端是否具有雙顯示屏。
可選地,雙顯示屏包括主顯示屏和副顯示屏。當(dāng)終端上具有雙顯示屏?xí)r,主顯示屏設(shè)置在終端的正面,副顯示屏設(shè)置在終端的背面;或者,主顯示屏和副顯示屏設(shè)置在終端的同一表面,本發(fā)明實(shí)施例對(duì)此不加以限定。
底層驅(qū)動(dòng)程序具有讀取終端的硬件參數(shù)的能力。當(dāng)終端開(kāi)機(jī)后,通過(guò)底層驅(qū)動(dòng)程序檢測(cè)終端是否具有雙顯示屏。
若終端具有雙顯示屏,則進(jìn)入步驟202;若終端具有單顯示屏?xí)r,則按照常規(guī)顯示方式進(jìn)行單屏顯示。
步驟202,若終端具有雙顯示屏,則通過(guò)底層驅(qū)動(dòng)程序生成HDMI設(shè)備添加事件。
可選地,HDMI設(shè)備添加事件攜帶有副顯示屏的屏幕參數(shù)。
可選地,副顯示屏的屏幕參數(shù)包括:設(shè)備ID(identity,身份標(biāo)識(shí))、屏幕尺寸、屏幕分辨率和屏幕材質(zhì)中的至少一種。
示意性的,當(dāng)終端具有雙顯示屏?xí)r,終端通過(guò)底層驅(qū)動(dòng)程序生成一個(gè)HDMI設(shè)備添加事件,該HDMI設(shè)備添加事件攜帶有副顯示屏的設(shè)備ID、屏幕尺寸、屏幕分辨率和屏幕材質(zhì)中的至少一種屏幕參數(shù)。
需要說(shuō)明的是,副顯示屏并未使用HDMI硬件接口與終端的主板相連,可選地,副顯示屏使用柔性電路板或接口電路與終端的主板相連??蛇x地,副顯示屏與終端的主板相連的方式,與主顯示屏與終端的主板相連的方式是相同的。
步驟203,從HDMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
示意性的,終端中的其它程序?qū)訌腍DMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
步驟204,將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。
示意性的,終端中的其它程序?qū)影凑諆?nèi)部的HDMI顯示機(jī)制,將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。初始化后的副顯示屏在各個(gè)程序?qū)又斜徽J(rèn)為是一個(gè)普通的HDMI設(shè)備。
步驟205,在副顯示屏初始化完畢后進(jìn)行雙屏顯示。
在初始化完畢后,終端中的各個(gè)程序?qū)訉⒏憋@示屏作為一個(gè)普通的HDMI設(shè)備進(jìn)行顯示。該副顯示屏的副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容相同,或者,該副顯示屏的副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容不同。
綜上所述,本實(shí)施例提供的雙屏顯示方法,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
可選地,上述圖1和圖2實(shí)施例中的終端是運(yùn)行有Android操作系統(tǒng)的終端。為了便于描述,首先對(duì)運(yùn)行有Android操作系統(tǒng)的終端的軟硬件架構(gòu)進(jìn)行示意性說(shuō)明。如圖3所示,按照由上往下的順序,終端中依次包括:應(yīng)用層301、Framework層302、SurfaceFlinger 303層、HAL層304、底層驅(qū)動(dòng)程序305和硬件層306。
應(yīng)用層301是Android操作系統(tǒng)的應(yīng)用程序所在的層。各種應(yīng)用程序都運(yùn)行在該層,比如:桌面應(yīng)用程序、壁紙應(yīng)用程序、狀態(tài)欄應(yīng)用程序、時(shí)鐘應(yīng)用程序等等。
Framework層302用于提供系統(tǒng)層面的服務(wù)。比如:電源管理、消息隊(duì)列、包管理等。Framework層302還用于向應(yīng)用層301提供硬件功能調(diào)用接口。
SurfaceFlinger層303是圖形顯示系統(tǒng)的服務(wù)端程序。SurfaceFlinger層303用于將不同應(yīng)用程序提供的顯示圖層合并為最終的顯示內(nèi)容。比如,將桌面應(yīng)用程序提供的圖標(biāo)、壁紙應(yīng)用程序提供的壁紙、狀態(tài)應(yīng)用程序提供的狀態(tài)欄按照預(yù)定的圖層疊加順序,生成最終在顯示屏上的顯示內(nèi)容。其中,位于上層的圖層會(huì)遮蓋位于下層的圖層。
HAL(Hardware Abstraction Layer,硬件抽象層)層304在將具體的硬件層306抽象出來(lái)的一個(gè)硬件接口層,這個(gè)硬件接口層負(fù)責(zé)實(shí)現(xiàn)具體的硬件層306的功能和控制,同時(shí)又為上面的SurfaceFlinger層303和Framework層302提供統(tǒng)一的API(Application Programming Interface,應(yīng)用程序編程接口)接口。
底層驅(qū)動(dòng)程序305是與硬件層306中的硬件進(jìn)行數(shù)據(jù)通信的程序。底層驅(qū)動(dòng)程序305具有獲取硬件層306中的硬件參數(shù)的能力,比如,底層驅(qū)動(dòng)程序304具有讀取顯示屏的屏幕參數(shù)的能力。
硬件層306包括:網(wǎng)絡(luò)組件、無(wú)線通信組件、外部存儲(chǔ)器、顯示屏、顯示芯片等硬件。在本實(shí)施例中,以硬件層306包括主顯示屏32和副顯示屏34。
請(qǐng)參考圖4,其示出了本發(fā)明再一個(gè)實(shí)施例提供的雙屏顯示方法的流程圖。本發(fā)明實(shí)施例以該雙屏顯示方法應(yīng)用于圖3所示的運(yùn)行有Android操作系統(tǒng)的終端中來(lái)舉例說(shuō)明。該雙屏顯示方法包括:
步驟401,通過(guò)SurfaceFlinger層向底層驅(qū)動(dòng)程序詢(xún)問(wèn)終端的顯示屏屬性。
底層驅(qū)動(dòng)程序具有讀取顯示屏的顯示屏屬性的能力。
在終端開(kāi)機(jī)后,SurfaceFlinger層向底層驅(qū)動(dòng)程序詢(xún)問(wèn)終端的顯示屏屬性。
步驟402,通過(guò)底層驅(qū)動(dòng)程序向SurfaceFlinger層反饋終端的顯示屏屬性。
底層驅(qū)動(dòng)程序讀取顯示屏的顯示屏屬性,并向SurfaceFlinger層反饋終端的顯示屏屬性。
可選地,該顯示屏屬性用于指示終端是具有單顯示屏的設(shè)備,還是具有雙顯示屏的設(shè)備。
步驟403,若顯示屏屬性為同時(shí)具有主顯示屏和副顯示屏?xí)r,通過(guò)SurfcaeFlinger層向標(biāo)記節(jié)點(diǎn)寫(xiě)入預(yù)定值。
由于位于底層驅(qū)動(dòng)程序之上的程序?qū)訜o(wú)法直接讀取顯示屏的顯示屏屬性,所以通過(guò)標(biāo)記節(jié)點(diǎn)向各個(gè)程序?qū)又甘撅@示屏屬性。
可選地,標(biāo)記節(jié)點(diǎn)用于向終端中的不同程序?qū)又甘驹摻K端具有單顯示屏,還是雙顯示屏。該標(biāo)記節(jié)點(diǎn)是一個(gè)指定位置的存儲(chǔ)文件,或者一個(gè)指定文件中的標(biāo)識(shí)位??蛇x地,該標(biāo)記節(jié)點(diǎn)具有兩種取值:1或0。其中,標(biāo)記節(jié)點(diǎn)的取值為1時(shí),代表終端具有雙顯示屏;標(biāo)記節(jié)點(diǎn)的取值為0時(shí),代表終端具有單顯示屏。
設(shè)1為預(yù)定值,則具有預(yù)定值的標(biāo)記節(jié)點(diǎn)用于向終端中的不同程序?qū)又甘驹摻K端具有雙顯示屏。當(dāng)然,預(yù)定值的取值不一定是1,本實(shí)施例對(duì)此不加以下定。
若顯示屏屬性為同時(shí)具有主顯示屏和副顯示屏?xí)r,通過(guò)SurfcaeFlinger層向標(biāo)記節(jié)點(diǎn)寫(xiě)入預(yù)定值1。若顯示屏屬性為只具有主顯示屏,則按照常規(guī)顯示流程進(jìn)行顯示。
步驟404,通過(guò)底層驅(qū)動(dòng)程序生成HDMI設(shè)備添加事件。
當(dāng)標(biāo)記節(jié)點(diǎn)被寫(xiě)入預(yù)定值后,底層驅(qū)動(dòng)程序能夠讀取到該標(biāo)記節(jié)點(diǎn)的取值為預(yù)定值。底層驅(qū)動(dòng)程序生成HDMI設(shè)備添加事件。
可選地,HDMI設(shè)備添加事件攜帶有副顯示屏的屏幕參數(shù)。
可選地,副顯示屏的屏幕參數(shù)包括:設(shè)備ID、屏幕尺寸、屏幕分辨率和屏幕材質(zhì)中的至少一種。
示意性的,當(dāng)終端具有雙顯示屏?xí)r,終端通過(guò)底層驅(qū)動(dòng)程序生成一個(gè)HDMI設(shè)備添加事件,該HDMI設(shè)備添加事件攜帶有副顯示屏的設(shè)備ID、屏幕尺寸、屏幕分辨率和屏幕材質(zhì)中的至少一種屏幕參數(shù)。
需要說(shuō)明的是,當(dāng)外部HDMI設(shè)備插入終端時(shí),也會(huì)生成HDMI設(shè)備添加事件,但該HDMI設(shè)備添加事件中攜帶的是外部HDMI設(shè)備的設(shè)備參數(shù)。本步驟中由底層驅(qū)動(dòng)程序?qū)⒏憋@示屏的屏幕參數(shù)模擬為HDMI設(shè)備的設(shè)備參數(shù),模擬生成一個(gè)HDMI設(shè)備添加事件。
步驟405,從HDMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
示意性的,終端中的其它程序?qū)訌腍DMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
步驟406,通過(guò)HAL層將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。
HAL層在收到HDMI設(shè)備添加事件時(shí),從HDMI設(shè)備層中獲取HDMI設(shè)備的設(shè)備參數(shù),通過(guò)該HDMI設(shè)備的設(shè)備參數(shù)執(zhí)行初始化流程。
由于HDMI設(shè)備添加事件中攜帶的是副顯示屏的屏幕參數(shù),所以HAL層將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。
需要說(shuō)明的是,該初始化過(guò)程采用Android系統(tǒng)中原生提供的HDMI設(shè)備初始化機(jī)制。該初始化過(guò)程不僅涉及HAL層,還會(huì)涉及到SurfaceFlinger層、Framework層和應(yīng)用層。
還需要說(shuō)明的是,在副顯示屏的初始化過(guò)程中,主顯示屏也會(huì)執(zhí)行初始化過(guò)程,主顯示屏的初始化過(guò)程為Android系統(tǒng)中的已有流程,本實(shí)施例對(duì)此不再贅述。
步驟407,在副顯示屏初始化完畢后,通過(guò)Presentation類(lèi)向副顯示屏輸出副屏顯示內(nèi)容,副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容相同或不同。
在主顯示屏和副顯示屏初始化完畢后,通過(guò)SurfcaeFlinger層向主顯示屏輸出主屏顯示內(nèi)容,向副顯示屏輸出副屏顯示內(nèi)容。
可選地,SurfcaeFlinger層通過(guò)Presentation類(lèi)向副顯示屏輸出副屏顯示內(nèi)容。
當(dāng)實(shí)現(xiàn)雙屏同顯功能時(shí),副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容相同;當(dāng)實(shí)現(xiàn)雙屏異顯功能時(shí),副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容不同。
綜上所述,本實(shí)施例提供的雙屏顯示方法,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
本實(shí)施例提供的雙屏顯示方法,還通過(guò)設(shè)定標(biāo)記節(jié)點(diǎn)的取值,使得Android設(shè)備中的各個(gè)程序?qū)幽軌颢@取終端的顯示屏屬性,進(jìn)而實(shí)現(xiàn)將副顯示屏模擬為HDMI設(shè)備的功能。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。對(duì)于本發(fā)明裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例。
請(qǐng)參考圖5,其示出了發(fā)明一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖。該雙屏顯示裝置可以通過(guò)專(zhuān)用硬件電路,或者,軟硬件的結(jié)合來(lái)實(shí)現(xiàn)成為服務(wù)器的全部或一部分。本發(fā)明實(shí)施例以該雙屏顯示裝置應(yīng)用于終端中來(lái)舉例說(shuō)明。該雙屏顯示裝置,包括:
終端檢測(cè)模塊501,用于檢測(cè)終端是否具有雙顯示屏。
事件生成模塊502,用于若終端具有雙顯示屏,則生成HDMI設(shè)備添加事件。
初始設(shè)置模塊503,用于根據(jù)HDMI設(shè)備添加事件,將副顯示屏作為HDMI設(shè)備進(jìn)行初始化。
雙屏顯示模塊504,用于在副顯示屏初始化完畢后進(jìn)行雙屏顯示。
綜上所述,本實(shí)施例提供的雙屏顯示裝置,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
請(qǐng)參考圖6,其示出了發(fā)明另一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖。該雙屏顯示裝置可以通過(guò)專(zhuān)用硬件電路,或者,軟硬件的結(jié)合來(lái)實(shí)現(xiàn)成為服務(wù)器的全部或一部分。本發(fā)明實(shí)施例以該雙屏顯示裝置應(yīng)用于終端中來(lái)舉例說(shuō)明,且本實(shí)施例以該雙屏顯示裝置應(yīng)用于圖3所示的Android設(shè)備的軟硬件的架構(gòu)來(lái)舉例說(shuō)明。該雙屏顯示裝置,包括:
終端檢測(cè)模塊601,用于通過(guò)底層驅(qū)動(dòng)程序檢測(cè)終端是否具有雙顯示屏。
事件生成模塊602,用于若終端具有雙顯示屏,則通過(guò)底層驅(qū)動(dòng)程序生成HDMI設(shè)備添加事件。
初始設(shè)置模塊603,用于根據(jù)HDMI設(shè)備添加事件,將副顯示屏作為HDMI設(shè)備進(jìn)行初始化。
可選地,初始設(shè)置模塊603包括參數(shù)獲取單元6031和初始設(shè)置單元6032。
參數(shù)獲取單元6031,用于從HDMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
初始設(shè)置單元6032,用于將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。
雙屏顯示模塊604,用于在副顯示屏初始化完畢后進(jìn)行雙屏顯示。
綜上所述,本實(shí)施例提供的雙屏顯示裝置,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
請(qǐng)參考圖7,其示出了發(fā)明再一個(gè)實(shí)施例提供的雙屏顯示裝置的結(jié)構(gòu)方框圖。該雙屏顯示裝置可以通過(guò)專(zhuān)用硬件電路,或者,軟硬件的結(jié)合來(lái)實(shí)現(xiàn)成為服務(wù)器的全部或一部分。本發(fā)明實(shí)施例以該雙屏顯示裝置應(yīng)用于終端中來(lái)舉例說(shuō)明,且本實(shí)施例以該雙屏顯示裝置應(yīng)用于圖3所示的Android設(shè)備的軟硬件的架構(gòu)來(lái)舉例說(shuō)明。該雙屏顯示裝置,包括:
終端檢測(cè)模塊701,用于通過(guò)底層驅(qū)動(dòng)程序檢測(cè)終端是否具有雙顯示屏。
可選地,終端檢測(cè)模塊701包括屬性詢(xún)問(wèn)單元7011、屬性反饋單元7012和節(jié)點(diǎn)寫(xiě)入單元7013。
屬性詢(xún)問(wèn)單元7011,用于通過(guò)SurfaceFlinger層向底層驅(qū)動(dòng)程序詢(xún)問(wèn)終端的顯示屏屬性。
屬性反饋單元7012,用于通過(guò)底層驅(qū)動(dòng)程序向SurfaceFlinger層反饋終端的顯示屏屬性;
節(jié)點(diǎn)寫(xiě)入單元7013,用于若顯示屏屬性為同時(shí)具有主顯示屏和副顯示屏?xí)r,SurfcaeFlinger層向標(biāo)記節(jié)點(diǎn)寫(xiě)入預(yù)定值;否則按照單設(shè)備處理進(jìn)行顯示。
可選地,其中,具有預(yù)定值的標(biāo)記節(jié)點(diǎn)用于向安卓終端中的不同程序?qū)又甘窘K端支持雙屏顯示。
事件生成模塊702,用于若終端具有雙顯示屏,則通過(guò)底層驅(qū)動(dòng)程序生成HDMI設(shè)備添加事件。
初始設(shè)置模塊703,用于從HDMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
可選地,初始化設(shè)置模塊703包括參數(shù)獲取單元7031和初始設(shè)置單元7032。
參數(shù)獲取單元7031,用于從HDMI設(shè)備添加事件中獲取副顯示屏的屏幕參數(shù)。
初始設(shè)置單元7032,用于通過(guò)HAL層將副顯示屏的屏幕參數(shù)作為HDMI設(shè)備的設(shè)備參數(shù)進(jìn)行初始化。
雙屏顯示模塊704,用于通過(guò)Presentation類(lèi)向副顯示屏輸出副屏顯示內(nèi)容,副屏顯示內(nèi)容與主顯示屏的主屏顯示內(nèi)容相同或不同。
綜上所述,本實(shí)施例提供的雙屏顯示裝置,通過(guò)將副顯示屏模擬成HDMI設(shè)備進(jìn)行設(shè)備添加,使得操作系統(tǒng)將副顯示屏識(shí)別為一個(gè)普通的HDMI設(shè)備來(lái)實(shí)現(xiàn)雙屏顯示;解決了現(xiàn)有技術(shù)中的雙屏顯示方法的開(kāi)發(fā)工作巨大且兼容性較差的問(wèn)題;達(dá)到了將副顯示屏模擬成HDMI設(shè)備,使用操作系統(tǒng)中原生的HDMI顯示機(jī)制來(lái)實(shí)現(xiàn)副屏的顯示,從而不需要重新開(kāi)發(fā)副屏顯示機(jī)制,更不存在兼容性問(wèn)題的效果。
本實(shí)施例提供的雙屏顯示裝置,還通過(guò)設(shè)定標(biāo)記節(jié)點(diǎn)的取值,使得Android設(shè)備中的各個(gè)程序?qū)幽軌颢@取終端的顯示屏屬性,進(jìn)而實(shí)現(xiàn)將副顯示屏模擬為HDMI設(shè)備的功能。
本實(shí)施例以該終端應(yīng)用于圖1或圖2或圖4中的雙屏顯示方法中。
圖8其示出了本發(fā)明一個(gè)實(shí)施例提供的終端800的框圖,該終端可以包括射頻(RF,Radio Frequency)電路801、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器802、輸入單元803、顯示單元804、傳感器805、音頻電路806、無(wú)線保真(WiFi,Wireless Fidelity)模塊807、包括有一個(gè)或者一個(gè)以上處理核心的處理器808、以及電源808等部件。本領(lǐng)域技術(shù)人員可以理解,圖8中示出的終端結(jié)構(gòu)并不構(gòu)成對(duì)終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
RF電路801可用于收發(fā)信息或通話(huà)過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器808處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路801包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶(hù)身份模塊(SIM,Subscriber Identity Module)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,RF電路801還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無(wú)線服務(wù)(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長(zhǎng)期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服務(wù)(SMS,Short Messaging Service)等。
存儲(chǔ)器802可用于存儲(chǔ)軟件程序以及模塊,處理器808通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器802的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器802可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話(huà)本等)等。此外,存儲(chǔ)器802可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器802還可以包括存儲(chǔ)器控制器,以提供處理器808和輸入單元803對(duì)存儲(chǔ)器802的訪問(wèn)。
輸入單元803可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶(hù)設(shè)置以及功能控制有關(guān)的鍵盤(pán)、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,在一個(gè)具體的實(shí)施例中,輸入單元803可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱(chēng)為觸摸顯示屏或者觸控板,可收集用戶(hù)在其上或附近的觸摸操作(比如用戶(hù)使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸敏表面可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶(hù)的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器808,并能接收處理器808發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類(lèi)型實(shí)現(xiàn)觸敏表面。除了觸敏表面,輸入單元803還可以包括其他輸入設(shè)備。具體地,其他輸入設(shè)備可以包括但不限于物理鍵盤(pán)、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
本實(shí)施例中,顯示單元804包括主顯示屏8041和副顯示屏8042,顯示單元804可用于顯示由用戶(hù)輸入的信息或提供給用戶(hù)的信息以及終端的各種圖形用戶(hù)接口,這些圖形用戶(hù)接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來(lái)構(gòu)成。顯示單元804可包括顯示面板,可選的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來(lái)配置顯示面板。進(jìn)一步的,觸敏表面可覆蓋顯示面板,當(dāng)觸敏表面檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器808以確定觸摸事件的類(lèi)型,隨后處理器808根據(jù)觸摸事件的類(lèi)型在顯示面板上提供相應(yīng)的視覺(jué)輸出。在某些實(shí)施例中,可以將觸敏表面與顯示面板集成而實(shí)現(xiàn)輸入和輸出功能。
終端還可包括至少一種傳感器805,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板的亮度,接近傳感器可在終端移動(dòng)到耳邊時(shí),關(guān)閉顯示面板和/或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于終端還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路806、揚(yáng)聲器,傳聲器可提供用戶(hù)與終端之間的音頻接口。音頻電路806可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器,由揚(yáng)聲器轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路806接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器808處理后,經(jīng)RF電路801以發(fā)送給比如另一終端,或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器802以便進(jìn)一步處理。音頻電路806還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與終端的通信。
WiFi屬于短距離無(wú)線傳輸技術(shù),終端通過(guò)WiFi模塊807可以幫助用戶(hù)收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶(hù)提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。
處理器808是終端的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器802內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器802內(nèi)的數(shù)據(jù),執(zhí)行終端的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器808可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器808可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶(hù)界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器808中。
終端還包括給各個(gè)部件供電的電源808(比如電池),優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器808邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源808還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管未示出,終端還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施例中,終端中的處理器808會(huì)運(yùn)行存儲(chǔ)在存儲(chǔ)器802中的一個(gè)或一個(gè)以上的程序指令,從而實(shí)現(xiàn)上述各個(gè)方法實(shí)施例中所提供的信息顯示方法。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤(pán)或光盤(pán)等。