Android雙屏異顯效果展示
前序
近期項(xiàng)目中涉及到了雙屏設(shè)備的開(kāi)發(fā),目標(biāo)是實(shí)現(xiàn)雙屏異顯的效果。傳統(tǒng)的多屏交互方法大多基于RTP視頻流傳輸,但這種方法在性能、視頻壓縮和刷新幀率等方面存在諸多限制。為此,我們尋找更為簡(jiǎn)便的途徑來(lái)實(shí)現(xiàn)多屏互動(dòng)。本文將介紹如何使用Android的Presentation系統(tǒng)組件來(lái)達(dá)成這一目的。

Presentation引入
本質(zhì)上,Presentation類似于一個(gè)特殊的Dialog,但它可以在指定的屏幕上顯示,而不僅僅是在常規(guī)的主屏幕上。這個(gè)指定的屏幕可以是系統(tǒng)中的第二塊、第三塊屏幕,甚至可以是主應(yīng)用的操作屏。當(dāng)Presentation顯示在主應(yīng)用屏幕上時(shí),其顯示效果與常規(guī)Dialog相似。Presentation有兩種顯示模式:一種是與應(yīng)用Activity同步顯示和隱藏的輔助屏顯示模式;另一種是常駐輔助屏保持顯示模式。為了實(shí)現(xiàn)常駐顯示,Presentation需要在Service中運(yùn)行。
雙屏開(kāi)發(fā)準(zhǔn)備
若設(shè)備不具備雙屏硬件條件,開(kāi)發(fā)者可通過(guò)模擬輔助屏幕功能進(jìn)行調(diào)試。進(jìn)入手機(jī)的設(shè)置菜單,找到開(kāi)發(fā)者模式并開(kāi)啟模擬輔助顯示設(shè)備功能,選擇需要的屏幕分辨率進(jìn)行模擬。值得注意的是,開(kāi)發(fā)設(shè)備的系統(tǒng)版本需為Android 4.2以上,因?yàn)镻resentation支持的最低SDK版本為Android 4.2(API級(jí)別17)。默認(rèn)情況下,輔助屏幕是透屏模式,即顯示主屏幕的投影。對(duì)于需要定制開(kāi)發(fā)的特定界面顯示,Presentation是最佳選擇。
創(chuàng)建輔助屏幕Presentation

在應(yīng)用中,可以創(chuàng)建一個(gè)用于輔助屏幕的Presentation,實(shí)現(xiàn)如地圖與搜索頁(yè)面之間的自由切換。Presentation的構(gòu)造函數(shù)可以接受Activity、ApplicationContext或Service作為Context參數(shù)。若需在應(yīng)用退居后臺(tái)時(shí)仍在輔助屏上顯示內(nèi)容,建議使用Service來(lái)展示Presentation。通過(guò)DisplayManager,我們可以指定Presentation在哪個(gè)屏幕上顯示。調(diào)用getDisplays方法獲取所有屏幕列表,然后操作指定屏幕的Presentation顯示。例如,對(duì)于一塊主屏和一塊輔助屏,displays[0]代表主屏幕,displays[1]代表輔助屏幕。不同系統(tǒng)版本可能需要不同的顯示權(quán)限,如SYSTEM_ALERT(8.0以下版本)和SYSTEM_OVERLAY_WINDOW(8.0及以上版本)。這些權(quán)限需要在應(yīng)用中聲明并動(dòng)態(tài)獲取。
編寫(xiě)多屏異顯服務(wù)
在實(shí)現(xiàn)雙屏異顯的過(guò)程中,編寫(xiě)多屏異顯服務(wù)是關(guān)鍵步驟之一。服務(wù)負(fù)責(zé)與Presentation的交互,包括綁定和顯示操作。服務(wù)的onServiceConnected方法中,執(zhí)行Presentation的show操作以啟動(dòng)輔助屏幕。通過(guò)FrameLayout實(shí)現(xiàn)不同界面的裝載和切換,使用EventBus進(jìn)行消息傳遞,實(shí)現(xiàn)界面間的數(shù)據(jù)交換。
權(quán)限申請(qǐng)與服務(wù)綁定
考慮到項(xiàng)目使用的Android 11版本,需要注意懸浮窗權(quán)限的申請(qǐng)。在實(shí)際調(diào)用中,確保正確請(qǐng)求SYSTEM_OVERLAY_WINDOW權(quán)限并在Manifest中聲明。與傳統(tǒng)的SYSTEM_ALERT_WINDOW權(quán)限申請(qǐng)不同,這一權(quán)限需要用戶手動(dòng)開(kāi)啟開(kāi)關(guān)。在開(kāi)發(fā)過(guò)程中要特別注意權(quán)限申請(qǐng)流程和用戶體驗(yàn)的優(yōu)化。

輔屏多重界面切換
為了實(shí)現(xiàn)輔屏上界面的靈活切換,可以采用FrameLayout作為裝載容器。通過(guò)添加、刪除和清除View的方式適應(yīng)不同的界面需求。利用EventBus進(jìn)行消息傳遞和數(shù)據(jù)交換,確保不同界面間的協(xié)同工作。這種設(shè)計(jì)使得雙屏異顯效果更加生動(dòng)和實(shí)用。
如何在小米手機(jī)上啟用雙屏功能
操作指南:以小米6為例
想要實(shí)現(xiàn)小米手機(jī)的雙屏功能,首先需要確保你的小米6已經(jīng)啟用了這項(xiàng)特色功能。以下是具體的操作步驟: 第一步,打開(kāi)手機(jī)的桌面。這里我們假設(shè)想要分屏的兩個(gè)軟件分別是短信應(yīng)用和百度app。 第二步,先啟動(dòng)短信應(yīng)用,然后迅速返回桌面。這一步是為了確保短信應(yīng)用已經(jīng)在前臺(tái)運(yùn)行。 第三步,接著打開(kāi)百度app,然后再返回桌面。后臺(tái)運(yùn)行的短信應(yīng)用和前臺(tái)的百度app都已經(jīng)準(zhǔn)備就緒。 第四步,點(diǎn)擊手機(jī)的菜單鍵。這個(gè)菜單鍵通常位于手機(jī)底部的中央位置,用于展示手機(jī)的多任務(wù)界面。 第五步,在菜單中尋找到并點(diǎn)擊“分屏模式”的選項(xiàng)。這個(gè)選項(xiàng)會(huì)讓你的手機(jī)屏幕一分為二,同時(shí)運(yùn)行兩個(gè)應(yīng)用。 第六步,將短信應(yīng)用拖動(dòng)到屏幕上方區(qū)域。至此,你的小米6手機(jī)就成功實(shí)現(xiàn)了雙屏操作,可以同時(shí)運(yùn)行短信和百度應(yīng)用了。Android手機(jī)雙屏顯示設(shè)置教程
對(duì)于使用Android系統(tǒng)的手機(jī),想要實(shí)現(xiàn)雙屏顯示功能,可以通過(guò)以下步驟進(jìn)行設(shè)置: 打開(kāi)手機(jī)的主界面,然后進(jìn)入“設(shè)置”選項(xiàng)。 在設(shè)置中,找到并點(diǎn)擊“智能輔助”選項(xiàng)。 在智能輔助的菜單里,選擇“手勢(shì)”功能,然后進(jìn)一步點(diǎn)擊“分屏設(shè)置”。 你也可以直接在桌面點(diǎn)擊虛擬鍵中的方框鍵。這個(gè)鍵通常位于任務(wù)頁(yè)面,點(diǎn)擊后就能進(jìn)入分屏狀態(tài)。 假設(shè)你正在使用某個(gè)應(yīng)用,并且想要開(kāi)啟雙屏模式,只需進(jìn)入設(shè)置頁(yè)面,點(diǎn)擊虛擬鍵啟動(dòng)雙屏模式。你的手機(jī)屏幕將分為上下兩個(gè)部分,你可以在上部分打開(kāi)一個(gè)應(yīng)用,下部分再打開(kāi)另一個(gè)應(yīng)用,實(shí)現(xiàn)雙屏顯示。通過(guò)這樣的設(shè)置和操作,你就可以輕松地在小米手機(jī)的Android系統(tǒng)上實(shí)現(xiàn)雙屏顯示功能了。無(wú)論是日常工作還是娛樂(lè)使用,這一功能都將帶來(lái)更為便捷和多任務(wù)的體驗(yàn)。
