圖標

ylih - 耳機裡的人生

記錄每副耳機能用多少小時。離線運作、永久保存、注重隱私
新版本 1.1.3
• 僅涉及建置與封裝的變更。畫面沒有任何變化。
耳機遲早會壞。在那之前,ylih 會回答關於一副耳機唯一真正重要的問題:你究竟用了它多少小時?

耳機每次連線,ylih 都會記下時間;每次斷線,也會記下時間。就是這麼簡單——因為一次連線就只是兩個時間戳記,所以應用程式根本不需要在背景持續執行。

它會記錄什麼

• 每副實體耳機的累積時數。耳機壞掉時,將它退役——總時數就此凍結,換上同款新耳機會作為第 2 代重新從零開始,舊的數字永遠不會與新的混在一起。
• 每一次連線都會永久保存:連線時間、斷線時間,以及結束的原因。
• 播放時間(選用):那段連線時間中,實際在播放音訊的比例,讓「掛在脖子上」不會被算作在聽。
• 每小時使用成本,只要輸入購買金額即可。看著這個數字慢慢下降,會很有成就感。

兩種追蹤模式

僅藍牙——預設模式。應用程式不會執行任何東西,通知欄不會出現任何通知,也不會消耗額外電量,因為即使應用程式已關閉,android 仍會將連線事件傳遞給它。

詳細追蹤——選用。加入有線與 USB 耳機,並測量播放時間與連線時間的比例。它需要一則無聲、最低優先度的通知,因為 android 只會將有線插拔事件回報給已在執行中的應用程式,這也是這則通知存在的唯一原因。

無論選擇哪種模式,藍牙都會被追蹤。

多年後仍可信賴的數字

如果一次當機或重新開機悄悄多算了十二小時,長期累積的總時數就毫無意義。因此:

• 因重新開機或當機而未正常結束的連線,會在最後一次已知的心跳時間點結束,絕不會晚於手機開機的那一刻。手機關機期間的時間,永遠不會被計入。
• 如果耳機在重新開機後仍保持連線,會開始一次全新的連線,而不是把舊的連線硬拉長跨越這段空窗期。
• 連線保持開啟時會持續發送心跳,藉此限制漏接一次斷線訊號所造成的誤差。

從架構上就注重隱私

ylih 沒有網路權限。沒有帳號、沒有分析追蹤、沒有廣告,也沒有任何形式的追蹤。所有資料都只存在於你手機上的資料庫中——唯一能將它複製到裝置之外的,是 Android 內建的備份功能,前提是你已啟用。

「設定 → 匯出」會將完整歷史紀錄寫成可讀的 json 檔案,「匯入」則可將其還原,因此換新手機也不會讓你失去這些數字。

權限

• 鄰近裝置(藍牙):接收連線事件並讀取耳機名稱所必需。沒有這項權限,藍牙追蹤將完全無法運作。
• 通知:僅用於詳細追蹤功能的通知。
• 開機時啟動:用於結束那些因關機而從未被回報的連線。

以 MIT 授權開放原始碼。

版本

雖然在下方可選擇下載 APK 檔案,但要留意這樣的安裝方式將不會收到更新通知,是一種較不安全的下載方法。建議您先安裝 F-Droid 用戶端使用。

下載 F-Droid
  • 版本 1.1.3 (5) 建議 於 2026 年 8 月 14 日新增

    arm64-v8a armeabi-v7a x86 x86_64

    此版本需要 Android 6.0 或更高的版本。

    此套件包由原開發者建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 查看網路連線
      允許應用程式查看網路連線相關資訊,像是有哪些網路,以及有沒有連上。
    • 與藍牙裝置配對
      允許應用程式查看手機的藍牙設定,以及建立和接受與其他配對裝置的連線。
    • 與已配對的藍牙裝置連線
      允許應用程式與已配對的藍牙裝置連線
    • 執行前景服務
      允許應用程式使用前景服務。
    • 搭配「connectedDevice」類型執行前景服務
      允許應用程式搭配「connectedDevice」類型使用前景服務
    • 搭配「specialUse」類型執行前景服務
      允許應用程式搭配「specialUse」類型使用前景服務
    • 顯示通知
      允許應用程式顯示通知
    • 啟動時執行
      允許應用程式在系統完成開機程序後立刻自行啟動。這會增加手機的開機時間,而且會因為系統一直執行該應用程式導致手機的整體運作速度變慢。
    • 防止手機休眠
      允許應用程式防止手機進入休眠狀態。
    • it.eldavo.ylih.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下載 APK 3.5 MiB PGP 簽章 | 建置紀錄