开发

宿主同步夜间模式状态说明

1 简介

小程序框架实现了夜间模式功能,宿主可以通过接口实现与小程序的夜间模式状态互通同步。

  • 接口类: AbsSwanAppNightMode
  • 依赖模块: deps.business.swan.core
  • 默认实现: DefaultSwanAppNightModeImpl
  • 是否必须实现:
  • 可选择性依赖的实现:

2 实现指南:

夜间模式状态的同步关键在于以下三点:

  1. 宿主框架查询小程序框架夜间模式当前状态
  2. 宿主框架通知小程序框架夜间模式发生改变
  3. 宿主框架监听小程序框架夜间模式发生改变

2.1 宿主框架查询小程序框架夜间模式当前状态

1
boolean isNightMode=SwanAppRuntime.getNightModeRuntime().getNightModeSwitcherState()

2.2 宿主框架通知小程序框架夜间模式发生改变

1
SwanAppRuntime.getNightModeRuntime().notifySwanAppNightModeChanged(isNightMode)

2.3 宿主框架监听小程序框架夜间模式发生改变

宿主通过实现接口类的onSyncNightModeStateFromSwan方法来监听小程序框架内夜间模式状态的变化。

1
2
3
4
5
6
7
8
9

public class SwanAppNightModeImpl extends AbsSwanAppNightMode {

@Override
public void onSyncNightModeStateFromSwan(boolean enable) {
// 接收到小程序夜间模式变化之后,宿主进行的处理
// 默认小程序夜间模式不同时主进程
}
}