常见问题解答

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

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 支持单个登录用户。