ylih 应用
耳机迟早会用坏。在那之前,ylih 会回答关于一副耳机唯一真正重要的问题:你用它听了多少个小时?每次耳机连接,ylih 都会记下时间。每次断开,它也会记下时间。这就是整个想法——正因为一次连接只是两个时间戳,应用根本不需要在后台运行就能完成记录。
记录内容
• 每副实体耳机的总使用时长。耳机报废后,将其退役——总时长就此定格,同款耳机的下一副会以第 2 代的身份从零开始计算,新旧数字永远不会混在一起。
• 每一次连接,永久保存:连接时间、断开时间,以及结束的原因。
• 播放时长(可选):这段连接时间里,有多少是真正在播放音频,这样挂在脖子上就不会被算作在听。
• 每小时成本,只要你填写购买价格。看着这个数字不断下降会很有成就感。
两种追踪模式
仅蓝牙——默认模式。应用不运行任何程序,通知栏中不会出现任何内容,也没有额外的电量消耗,因为 Android 即使在应用关闭时也会将连接事件传递给它。
详细追踪——可选。可记录有线和 USB 耳机,并统计播放时间与连接时间的比例。它需要一条静默的最低优先级通知,因为 Android 只会把有线插拔事件报告给正在运行的应用。这也是这条通知存在的唯一原因。
无论哪种模式,蓝牙耳机都会被追踪。
多年后依然可信的数字
如果一次崩溃或重启悄悄多算了十二个小时,长期的总时长就毫无意义了。因此:
• 因重启或崩溃而未能正常关闭的连接,会在其最后一次已知的心跳时刻关闭,且绝不会晚于手机开机的那一刻。手机关机期间的时间永远不会被计入。
• 如果耳机在重启后仍处于连接状态,应用会开始一段全新的连接,而不是把旧的连接跨过这段间隔硬拉长。
• 连接处于打开状态时会持续发送心跳,因此即使漏掉一次断开事件,造成的误差也是有限的。
从设计上就保证隐私
ylih 没有联网权限。没有账户,没有分析统计,没有广告,也没有追踪。一切都保存在你手机上的本地数据库中——唯一能把它复制到设备之外的,是 Android 自带的备份功能,前提是你开启了它。
设置 → 导出 会把你的全部历史记录写成可读的 JSON 文件,导入 则可以将其恢复,因此换新手机也不会让你丢失自己的数字。
权限
• 附近的设备(蓝牙):用于接收连接事件并读取耳机名称。没有这项权限,蓝牙追踪就完全无法工作。
• 通知:仅用于详细追踪功能的通知。
• 开机自启:用于关闭那些因关机而未能正常上报的连接。
基于 MIT 许可协议开源。










