Android 10 是否支持每显示器 VSYNC?
还没有。 Android 10 中默认显示器的 VSYNC 驱动所有显示器。
显示器可以单独打开或关闭吗?
在 Android 10 中,设备电源状态的实现主要是全局的,由默认显示器的电源状态决定。通过将 surface 设置为null
,只能单独打开/关闭虚拟显示器。 Activity/WindowManager 响应这个状态变化。
如何动态配置输入显示关联?
Android 10 中没有动态配置输入和设备之间关联的内置方法,但在大多数情况下可以应用一些解决方法。有关详细信息,请参阅输入路由。
如何在显示器上启用系统装饰?
对于测试,最直接的方法是使用 Force Desktop Mode 开发人员选项,它可以在所有辅助显示器上启用系统装饰和 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 支持单个登录用户。