f34f98c1a0
新增 useHostLifecycleActive 统一归一宿主生命周期状态 拼图和抓大鹅运行态背景音乐按宿主后台与失焦状态暂停恢复 useBackgroundMusic 复用统一生命周期状态避免重复订阅逻辑 补充生命周期音频测试和宿主壳架构文档
20 lines
477 B
TypeScript
20 lines
477 B
TypeScript
import { useEffect, useState } from 'react';
|
|
|
|
import { subscribeHostAppLifecycle } from '../services/host-bridge/hostBridge';
|
|
|
|
export function useHostLifecycleActive() {
|
|
const [isHostLifecycleActive, setIsHostLifecycleActive] = useState(true);
|
|
|
|
useEffect(
|
|
() =>
|
|
subscribeHostAppLifecycle((payload) => {
|
|
setIsHostLifecycleActive(
|
|
payload.state === 'active' && payload.focused,
|
|
);
|
|
}),
|
|
[],
|
|
);
|
|
|
|
return isHostLifecycleActive;
|
|
}
|