Apple Watch能和Android手机一起用?开发者试了后,还在GitHub上开源了

作者 | Abishek Muthian  编译 | 苏宓
出品 | CSDN(ID:CSDNnews)

当前市场上,智能手表种类繁多,几乎都提供健康监测功能。其中,Apple Watch 凭借在心率监测、睡眠分析和运动追踪等方面的高精确度,始终占据市场领先地位,成为许多消费者的首选。甚至四年前发布的苹果手表,其数据准确性仍然优于许多新推出的竞争产品。

然而,独立开发者 Abishek Muthian 表示,他已经对苹果的“封闭生态系统”厌倦了。他无法忍受那些“高高在上”的理想生活式营销,也对苹果限制维修权的政策颇有微词。几年前,他决定不再为 Apple Watch 掏钱。

他转而选择更自由的方案:使用翻新的蓝牙低功耗(BLE)智能手表和翻新手机,同时借助一个活跃的开源社区为这些设备提供支持。

Abishek Muthian 称,通过使用开源项目 Gadgetbridge(https://gadgetbridge.org/),摆脱了智能手表厂商自带的专有 App,完全掌控了手表的数据。而 Lineage OS(一个开源的安卓系统)搭配 microG(一个 Google 服务替代方案)和 F-Droid(开源应用商店),让他进一步可以拥有隐私保护的手机。

闲暇之余,Abishek Muthian 也尝试基于 postmarketOS 的 Linux 智能手机和运行 Asteroid OS 的智能手表,以摆脱传统手机系统生态的束缚。

近日,Abishek Muthian 遇到了一件令他十分难过的事情:他的一位朋友独自一人在国外的酒店里,因不明原因在睡梦中去世。这个悲剧让他不禁产生了一个念头:如果朋友佩戴了智能手表,或许能及时发现生命体征的变化,甚至能收到警报,从而有机会寻求帮助。Abishek Muthian 提到,虽然他现在用的是 Gadgetbridge 兼容的手表,但它没有摔倒检测或 SOS 功能,且健康监测的精确度远不如 Apple Watch

因此,他决定通过开源应用、兼容协议和第三方服务,来实现 Apple Watch 与 Android 手机的配合使用。

基于此,他将具体的代码和方法在 GitHub 上开源出来:https://github.com/abishekmuthian/apple-watch-with-android

图片

不用带 iPhone,依然玩转 Apple Watch

Abishek Muthian 买了一块支持蜂窝网络的翻新版 Apple Watch,这款手表拥有他需要的所有健康功能(比如心电图)以及最新的 watchOS 系统。

起初,Abishek Muthian 打算用 Apple 的“儿童模式”(Apple Watch for Kids),通过他老婆的 iPhone 进行设置,因为他自己此前已经弃用了 iPhone。然而,由于儿童模式下不支持一些关键的健康功能,比如心电图等,所以这条路很快被堵死了。

此外,Abishek Muthian 所在国家的电信运营商中,只有一家在“Apple Watch for Kids”计划下支持 Apple Watch 的 eSIM 功能。然而,因为一些限制,Abishek Muthian 在尝试这个服务时,运营商直接停用了他的网络服务。幸运的是,Abishek Muthian 称,「这只是我的副卡,所以影响不大,我决定另寻办法」。

这也让他意识到,没有 iPhone 是没法使用 Apple Watch 的。于是,Abishek Muthian 无奈之下又买了一台翻新的 iPhone,这部手机仍然可以再接几年的系统更新。虽然 Abishek 没能实现最初不需要买 iPhone 就能用苹果手表的目标,但他还是达到了一个新目标:不用随身带 iPhone,却能在 Android 手机上同步并使用苹果手表的所有功能。

蜂窝网络

Abishek Muthian 通过把他的 Android 手机里的 SIM 卡放进 iPhone 里,再配对到苹果手表,并设置好移动数据,成功让苹果手表支持蜂窝网络功能。

在关闭 Wi-Fi 和蓝牙的情况下,他可以通过苹果手表接打电话,效果很好。但由于 SIM 卡仍然在 Android 手机里,短信功能就无法使用了——比如发送 SOS 信息到紧急联系人(即使他们使用的是 iMessage)。不过,SOS 拨打紧急电话的功能是可以正常使用的。

图片

图片

Apple Watch 和 Android 手机上同时接到的电话

通知功能

让 Apple Watch 从 Android 手机接收通知是最复杂的一步,但很值得,因为通知对效率和省电至关重要。

为此,Abishek Muthian 写了一个 Python 脚本,用 Termux(Android 终端模拟器)读取通知,然后通过 Pushover(推送服务)把通知发送到 Apple Watch 上。

现在,他的 Apple Watch 可以接收到来自 Android 手机的通知消息,比如短信或应用提醒。

图片

从 Android 手机发送的 Apple Watch 通知

日历同步

通过 CalDAV 协议,Abishek Muthian 实现了 Android 手机和 Apple Watch 之间的日历同步。他使用了自建的 Nextcloud 服务器,以及 Fossify Calendar 和 DavX 等开源工具。现在,Android 手机上的日历事件会无缝显示在 Apple Watch 上。

图片

图片

联系人同步

如果苹果手表上的来电只显示电话号码,那会很奇怪。所以,Abishek Muthian 还通过 CardDAV 这个可以互相兼容的协议,把 Android 手机上的联系人同步到 Apple Watch。CardDAV 可以通过 Abishek Muthian 自己搭建的 Nextcloud 服务器,配合像 Fossify Contacts 和 DavX 这样的应用来同步联系人。

图片

任务同步

使用 DAVx 的另一个好处是,可以通过开源任务管理应用(比如 jtxBoard)同步任务。

这些任务会自动同步到 Apple Watch 的日历和提醒应用上,甚至支持显示子任务。

图片

Android 端:在 jtxBoard 应用中查看和管理任务

图片

图片

Apple Watch 端:任务会显示在日历应用和提醒应用中,方便随时查看

图片

最终成果

我现在成功实现了让 Apple Watch 和 Android 手机一起工作。虽然家里仍然需要留一个联网的 iPhone,但我并不需要每天随身携带它。

当然这个项目还有一些可以优化的地方。如果有兴趣的小伙伴,Abishek Muthian 称也可以在 GitHub 项目库里发起讨论,一起完善它。

最后,Abishek Muthian 表示,“这一切都离不开开源社区、互操作协议和那些专注用户需求的小型应用程序。然而,这些生态正面临既得利益者的巨大威胁。”

GitHub 项目地址:https://github.com/abishekmuthian/apple-watch-with-android

来源:https://abishekmuthian.com/apple-watch-with-android/