05
Dev.to Kotlin
作者:Haseeb
發布:08-15 00:00
Building a Zero-Cloud Android Service: Privacy by Architecture
I wanted something that lived entirely on the device, functioning as a silent, invisible utility that didn't need to 'phone home' to function.
重點摘要
Muffle was designed as a zero-cloud Android app to keep user data on-device.
Prayer times, sound profiles, and routines are handled locally with Android services, Room, and GeofencingClient.
Battery optimization, Doze mode, and OEM quirks made reliable scheduling the hardest part.
The article describes how Haseeb built Muffle, an Android app that changes sound profiles without relying on any backend or cloud service. Motivated by the awkwardness of forgotten silent mode during prayers and meetings, he chose a local-first design for privacy, reliability, and low latency. The app uses Android’s AlarmManager, ForegroundService, BroadcastReceiver, Room, and the Adhan library to manage schedules and prayer-time triggers entirely on-device. He also explains the technical challenges of Doze mode, battery optimizations, wakelocks, and conflicting routines, concluding that removing network dependence improves both trust and resilience.
构建零云端的 Android 服务:以架构实现隐私保护
我想要一个完全运行在设备上的工具,安静、无形,而且不需要“回连服务器”也能正常工作。
重點摘要
Muffle 采用零云端架构,用户数据与规则都保留在本地设备。
祈祷时间、音量状态和自动化流程由 AlarmManager、Room、GeofencingClient 等本地完成。
Doze 模式、电池优化和不同 OEM 的实现差异,是可靠调度的主要难点。
本文介绍作者 Haseeb 开发 Android 应用 Muffle 的过程:它不依赖后端或云服务,而是在设备本地自动切换铃声、震动、免打扰与正常模式。这个想法源于清真寺礼拜时手机铃声带来的尴尬,以及手动切换静音带来的持续负担。为实现隐私优先与低延迟,他将祈祷时间计算、规则存储和状态切换都放在本机完成,使用 AlarmManager、ForegroundService、Room 和 Adhan 库。文章也讨论了 Doze、电池优化、wakelock 和多种例行规则冲突等问题,并强调本地优先不仅更隐私,也更可靠。
打造零雲端 Android 服務:以架構守護隱私
我想要一個完全運行在裝置上的工具,安靜、隱形,而且不需要『回連伺服器』也能正常工作。
重點摘要
Muffle 採用零雲端架構,所有資料與邏輯都留在手機本機。
祈禱時間、音量模式與例行規則透過 AlarmManager、Room、GeofencingClient 等元件本地處理。
Doze、省電最佳化與各家 OEM 差異,讓排程可靠性成為最大挑戰。
本文講述作者 Haseeb 如何打造 Android 應用 Muffle,目標是不依賴任何後端或雲端服務,就能自動切換手機音量模式。這個想法源自在清真寺禮拜時被鈴聲打斷的尷尬,以及手動切換靜音所帶來的負擔。為了兼顧隱私與可靠性,他把祈禱時間計算、排程與狀態管理都放在裝置本機完成,使用 AlarmManager、ForegroundService、Room 與 Adhan 函式庫。文章也指出 Doze 模式、省電機制與不同手機廠商的限制,說明真正的零雲端設計必須同時面對技術與系統層面的挑戰。