文档管理中心
我的

隐藏蒙层

场景说明

手机在同异源切换过程中,会先停止上次投屏再进行新的投屏。由于此过程投屏方式的切换,会导致UI变化差异很大,甚至黑屏。为了保障用户体验,车机需在每次切换前显示加载蒙层效果,当手机切换完成后,通知车机去掉蒙层。用户对切换过程无感知,此过程包含窗口宽高变化、全屏与退出全屏等变化。

接口说明

当前接口需监听546消息,参数包含两个字段:

  • stateCode:值为7,表示隐藏蒙层。
  • stateData: 值为空字符。

开发步骤

隐藏蒙层。
// 监听546消息,隐藏蒙层
class HiCarListener implements Carlistener {
    @Override
    public void onDataReceive(String deviceId, int dataType, byte[] data) {
        switch (dataType) {
            case DeviceData.DATA_TYPE_SMALL_WINDOW_STATE: // 546
                JSONObject jsonData = CommonUtils.getJsonObject(data, datatype).orElse(null); // 将从手机接收的命令字符串转换为JSON数据
                int stateCode = jsonData.getInteger("stateCode");
                String stateData = jsonData.getString("stateData");
                if (stateCode == 7) {
                    mMaskLayer.setVisible(View.GONE);
                }
                break;
        }
    }
}