You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法实时获取Live Activity权限变更,activityEnablementUpdates使用求助

Live Activity权限状态监听不触发的解决方法

你的代码核心问题是每次循环迭代时都新建了ActivityAuthorizationInfo实例,activityEnablementUpdates的订阅是和实例绑定的,频繁创建新实例会导致监听链路断裂,权限变更时自然无法触发handleLiveActivityStateChange。

修正步骤如下:

  • 先在类的全局作用域保存一个ActivityAuthorizationInfo的持久实例:
private let liveActivityAuthInfo = ActivityAuthorizationInfo()
  • 复用这个实例启动监听,不要在循环内重复创建:
Task {
    for await enabled in liveActivityAuthInfo.activityEnablementUpdates {
        self.handleLiveActivityStateChange(enabled)
    }
}

额外注意事项:

  • 控制监听Task的生命周期,比如在页面出现时启动监听,消失时调用Task.cancel()取消订阅,避免不必要的资源占用和内存泄漏。
  • 测试时确认是修改系统设置中当前应用的Live Activity权限开关,不要误操作其他权限项。

内容的提问来源于stack exchange,提问作者li chuanshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 08:40:54