这发生在葬礼上一个安静而庄严的时刻。
我感到口袋里的震动, 和一分秒,我惊慌了。
我在进入之前就已经关闭了手机,但那天早晨我在检查电子邮件时意外地将手机切回了正常模式.
在那个房间里,一个通知铃声 感觉像枪声。
尴尬是直接和内在的。
这是一个清晰的信号,我需要一个更好的方法 来管理我设备的音效, 这个系统不依赖于我的缺陷的人类记忆。
我们生活在一个高度连通的时代,然而当涉及到背景意识时,我们的手机却令人惊讶地愚蠢.
我发现自己经常手动调整音量滑动器。
会议、健身会、祷告时间、电影院——需要沉默的地方无所不在。
大多数现有解决方案要么太重,需要复杂的IFTT集成后退,要么是隐私入侵,需要不断云同步。
我希望有什么东西能住在我设备上, 尊重我的数据隐私, 而且中午之前没有把我的手机变成砖.
核心问题不仅仅是沉默; 而是要记住这些变化的认知负荷, 这就是你最后如何错过了今天剩下的重要电话。
为了盖起"Muffle",我必须解决地缘谜题.
任何Android开发商的诱惑是 发射一个高精确度的设置 并且只调查GPS坐标 这是破坏电池生命 让你的应用被Android系统电池优化 杀死的最快方法 相反,我倾向于API。
它正是为这个使用案例设计的:它让系统在硬件层面处理重举位置监测,而不是在我的应用过程中使收音机保持清醒.
我配置了使用和触发器。
魔法发生于边界被越过时被射出.
把它卸到一个...
我的应用 保持休眠 直到地球栅栏被突破 kotlin val 地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地系地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘地缘 FLAG UPDATE CURRENT) 地缘特征. addGeofences(地缘特征请求,待决意向) 这种方法可以确保我的应用不会不断地唤起CPU来计算距离.
OS监视栅栏,只有在用户越过门槛时,系统才将我的过程唤醒,只够执行声音配置变化.
这是电池排水应用软件与具有背景效率的实用技术之间的重要建筑区别。
最让我惊讶的是 现代建筑内部的GPS信号不统一 我最初认为我可以把50米的半径 固定在我的工作场所 来引发沉默。
我很快得知,城市环境中的信号漂移会让设备在坐在桌子上时"闪烁"出地峡".
我的第一个版本Muffle 将不断切换 声音剖面 每次GPS坐标漂移几米, 导致一个通知风暴。
我不得不执行一个“好时间”逻辑, 只有当设备持续停留在区内时, 过渡才有效。
这并没有在初级API指南中被记录下来, 但这是防止应用行为不稳定的必要逻辑层.
另一个认识是权限的脆弱性。
Android对背景限制的收紧意味着我不能仅仅假设我的应用会活着来处理这些过渡.
我不得不让应用 适应再发作。
我最后建造了一个接收器 专门在启动时重新登记所有现有的地峡 如果我重新开始,我会更加努力地改进优先处理。
当多重触发重叠时—— 像日历前夕