Android 10 是否支援每個螢幕的 VSync?
目前還不行。Android 10 中預設螢幕的 VSync 會驅動所有螢幕。
螢幕可以個別開啟或關閉嗎?
在 Android 10 中,裝置電源狀態的實作方式主要為全域,且取決於預設螢幕的電源狀態。只有虛擬螢幕可以個別開啟或關閉,方法是將表面設為 null
。活動或 WindowManager 會對這項狀態變更做出回應。
如何動態設定輸入裝置與螢幕的關聯?
在 Android 10 中,沒有內建方法可動態設定輸入內容與裝置之間的關聯,但在大多數情況下,可以套用一些解決方法。詳情請參閱「輸入路徑」。
如何啟用螢幕上的系統裝飾?
如要進行測試,最簡單的方法是使用「強制使用桌面模式」開發人員選項,在所有次要螢幕上啟用系統裝飾和 IME 支援功能。這項功能適用於系統擁有的螢幕,例如實體面板或模擬螢幕,但可能不適用於應用程式擁有的虛擬螢幕。
如果是正式版,請提供預設設定檔。詳情請參閱:
如何為特定螢幕設定活動?
使用 LaunchParamsController
攔截所有活動啟動作業,並讓系統元件修改用於啟動作業的參數。這項功能適用於 system_server
。
可以從次要螢幕解鎖裝置嗎?
Android 10 的預設螢幕鎖定實作項目不具互動性,且不允許解鎖。只要維持基本安全規定,OEM 就能實作自己的螢幕鎖定功能。
裝置鎖定狀態為全域設定,會套用至所有螢幕。
如何將 IME 顯示在目標以外的螢幕上?
IME 只能顯示在 DisplayWindowSettings
中設定的螢幕上。如果要求輸入的螢幕未啟用設定,IME 會顯示在預設螢幕上。
如何一律將按鍵事件傳送至特定螢幕?
鍵盤屬於非目標輸入來源,因此輸入內容會傳送至系統中最上層的聚焦視窗。如需目標鍵盤輸入的範例,請參閱 PhoneWindowManager
類別中的「返回」或「主畫面」按鈕實作。這些鍵只會以螢幕為目標,但會顯示在 Android 10 中。
音訊的處理方式
Android 10 在這方面沒有重大改良。 Android 10 已新增對 Auto 的多區域音訊支援,但處理個別目標音訊串流的通用解決方案仍待開發。
同一個應用程式可以顯示在多個螢幕上嗎?
如果應用程式支援這項功能,就能建立多個應用程式活動執行個體。根據預設,每個執行檔都會在相同程序下執行。Chrome 就是這類應用程式的例子。使用 Launcher 範例測試這項功能很方便,因為這個範例可啟動目標活動,並要求建立新的例項。
是否可以為不同螢幕/使用者建立同一個應用程式的多個執行個體?
AOSP 不允許您為同一位使用者建立同一應用程式的多個獨立沙箱和程序。與這項要求相關聯的用途需要支援多位使用者同時作業,而非應用程式層級的分離。
如果不同使用者想使用同一個應用程式,請使用各自的設定檔登入。如要進行應用程式層級的區隔,必須在每個工作階段登入應用程式。 否則,其他使用者的資料可能仍會保留在裝置上。
Android 10 是否支援多位使用者?
否。Android 10 僅支援單一登入使用者。