常見問題

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 就是這類應用程式的範例。使用啟動器範例進行測試非常方便,因為您可以透過該範例啟動指定活動,並要求新的例項。

是否可以為不同的螢幕/使用者建立相同應用程式的多個執行個體?

AOSP 不允許您為同一位使用者建立多個獨立的沙箱和相同應用程式的程序。與這項要求相關的用途需要同時支援多位使用者,而非應用程式層級的區隔。

如果不同使用者想使用同一個應用程式,則應使用各自的個人資料登入。應用程式層級分離功能需要在每個工作階段登入應用程式。否則,其他使用者的資料可能仍會存在。

Android 10 是否支援多位使用者?

否。Android 10 僅支援單一登入使用者。