1

参考https://docs.microsoft.com/en-us/dual-screen/android/platform/jetpack-window-manager,我像这样初始化窗口管理器:

wm = WindowManager(this, null)

并打电话给

wm.registerDeviceStateChangeCallback

DeviceStateChangeCallback 中实现的accept方法是在我不在真正的华为可折叠设备上更改模拟器的屏幕尺寸时调用的。

谁能告诉我原因,拜托!

4

1 回答 1

2

窗口管理器 (WM) 有几个特定的​​组件:androidx.window.sidecarandroidx.window.extensions ,OEM 必须实现它们才能提供窗口管理器支持。

不确定您是否使用 Surface Duo 模拟器,因为您链接到它的文档,但是如果您在 Surface Duo 模拟器/设备中测试您的代码,您将能够获得 WM 信息 --> Surface Duo 已经支持两者的 WM设备和模拟器。

可能是华为对可折叠模拟器提供 WM 支持,但对设备还没有支持 --> 使用与华为可折叠模拟器或 Surface Duo 模拟器/设备相同的代码时,您不会获得 WM 信息。

于 2021-03-25T11:07:30.537 回答