讨论广场 问答详情
使用 AccessTokenKit 做运行时权限检查时,缓存检查结果与实时查询的边界应该如何把握?
包小乐 2025-12-31 00:05:35
28 评论 分享

在鸿蒙应用中频繁调用敏感能力(如定位、蓝牙、相机)前需要用 AccessTokenKit 检查授权状态,如果为了性能做本地缓存,又担心用户在系统设置里手动收回权限导致状态不一致,这种场景下权限检查结果的缓存策略与强制实时查询的边界应该如何划分更合适?

28 评论 分享
写回答
全部评论(1)
1 楼

我一般把它分两层:UI 层可以缓存(比如按钮灰/亮、提示文案),但“真正调用敏感能力前”一定做一次实时校验,因为用户随时可能去设置里收回权限。缓存策略可以很务实:短周期缓存 + 关键路径强校验 + 失败兜底(调用失败就引导重新授权)。另外更省心的是你订阅权限状态变化事件:一旦系统回收/变更授权就把本地缓存清掉或标脏,下次走实时查询,这样既省调用次数,也不会状态飘。

2025-12-31 15:15:00