百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

安卓手表连 iPhone 是怎么回事?

csdh11 2025-03-11 14:50 3 浏览

本文作者:沈李斌,出门问问技术总监。毕业于上海交通大学和宾夕法尼亚大学,前 IBM Watson 研究员,Akamai 主任系统软件工程师。专注于大规模智能系统研发。

十几小时之前,谷歌 Android Wear 的老大 David Singleton 在谷歌官方博客上称:“Android Wear 现在可以和 iPhone 一起上班了”。哦,原文是 “Now, Android Wear watches work with iPhones”。这是什么意思呢?

我们知道,Android Wear 是 Android 系统,而 iPhone 是基于 iOS 的。她们俩怎么能搞到一起去?其实是这样子的啦。苹果允许 Google 在 Apple Store 上发布一款叫 “Android Wear” 的 iOS 应用。 这款 iOS 应用能够通过蓝牙和基于 Android Wear 的设备(就是安卓手表啦)进行通信,让安卓手表以半残的方式运行。为什么说是半残呢?因为目前看来,第三方应用是无法运行的。这个下面我们详细说。

在技术上,这也没啥稀奇的啦。最早是 Pebble,能够以类似的方式,既可以和 Android 手机,也可以和 iPhone 连接。虽然她既不是 Android,也不是 iOS。有点绕哦。今年一月的时候,基于 Android 开发的 Ticwear 就已经实现了与 iPhone 的蓝牙互联,并将这项技术集成在随后发行的 Ticwatch 智能手表中。与 iPhone 连接的 Ticwatch 支持消息推送、来电提醒、计步、测量心率,以及一些可独立在手表上运行的第三方 APP 的功能。

所以说呢,这桩事情的轰动性更多的在于其商业意义,其重要性不亚于在 Apple Store 上允许 Google Now 发布,和苹果自己的 Siri 竞争。嗯,这么看来苹果还是一家有节操的公司。(这里省去 1000 字)

书接前文,和 iPhone 相连的安卓手表能做些什么呢?从功能模块上可以这样分。

1. 手机上的各类消息推送:来电、短信和各种第三方应用的推送

2. 通过手表自身系统实现的:心率、记步等

3. 通过 Google Now 实现的:查饭店、查宾馆

4. 通过 Android Wear 这个 iOS 应用实现的:谷歌的各类服务,像如地图、GMail 什么的

好了,就是这一些。苹果已经很给面子了,这是第一次一个叫 Android 的应用可以上苹果商店。那第三方开发者呢?能不能也开发同时兼容 Android 和 iOS 的安卓手表应用呢?哦,洗洗睡吧,目前看来没有可能。无论是直接开发,还是借助于谷歌的这款 iOS 应用。

为什么这么说呢?首先,第一条路是不通的。在 Android 的问题上,没有人会有谷歌这样的议价能力,苹果不太可能同意向第三方开放。最初透露出 Android Wear 适配 iPhone 的 The Verge 也释放出类似的结论。这样的策略和苹果防止系统碎片化的战略是一致的。至于第二条路线,谷歌声称会尝试,但事实是控制权不在他们手里。TechCrunch 是这样报道的:“Google says it’ s working on bringing third-party app support to iOS users, too, but it’ s unclear when this will happen”。所以,目前看来,第三方开发者没有办法一起玩。不过,好歹安卓手表能多卖一些,对安卓手表开发者也不是坏事啊。

喜欢学习的同学可以继续往下读。谷歌的这款 iOS 应用在实现上有什么特殊的地方呢?我们觉得应该是没有越过苹果界限的地方,除了她的名字。从技术方面讲,Android Wear 手表连接 iPhone 有两种方式:

低功耗蓝牙(BLE)方式,这种方式连接不需要通过苹果 MFi (Made for iOS) 认证,只需要手表端安装一个接收蓝牙通知的应用。理论上,低功耗蓝牙的数据传输率是经典蓝牙的三分之一。而实际应用中,我们发现 BLE 的数据传输率还要更低,大约只有经典蓝牙的百分之一。在出门问问 Ticwear 测试的设备上, BLE 的传输速度在 0.5KB ~ 2KB 左右每秒, 也就是说如果用 BLE 来传输一首 4MB 左右的 MP3 需要至少半个小时。这样的带宽,使用 Google Now 做语音搜索基本是不可能了。

所以可以肯定是经典蓝牙方式。这种方式可以支持较快速的大数据量传输,然而这种方式的连接要求设备必须通过苹果的 MFi 认证。要通过此认证,必须让苹果认为此设备达到了苹果要求的性能标准。整个认证流程比较麻烦,包括开发认证和制造认证两个部分,需要向苹果提交产品的技术细节以及制造工艺,甚至包括产品的包装设计。据称,MFi 认证的通过率很低。可以推断出,Android Wear 系列后续的智能手表都必须通过 MFi 认证。

最后一点要说的是,谷歌的这款 iOS 应用支持的语言是这些:“Languages: English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish”。对的,没有中文。

原创文章,作者:thethief

相关推荐

linux下的定时或计时操作(gettimeofday等的用法秒\微秒\纳秒

一、用select()函数实现非阻塞时的等待时间,用到结构体structtimeval{},这里就不多说了。二、用gettimeofday()可获得...

guava限流器RateLimiter使用简介(Springboot实现)

在大型分布式系统中,限流是一种重要的防护机制,可以帮助我们控制流量并减轻系统的负担。Google的Guava库提供了一种方便的限流器实现,可以帮助我们轻松地实现限流功能。本文将介绍Guava中限流器的...

Mybatis配置文件XML全貌详解,再不懂我也没招了

一、为什么要使用配置文件试想,如果没有配置文件,我们的应用程序将只能沿着固定的姿态运行,几乎不能做任何动态的调整,那么这不是一套完美的设计,因为我们希望拥有更宽更灵活的操作空间和更多的兼容度,同时也能...

五分钟搞懂分布式流控算法原理和滑动窗口设计实现

流控的使用场景保护系统稳定性:...

实时数据处理的性能瓶颈:如何用Flink实现毫秒级延迟?

在大数据实时处理领域,ApacheFlink凭借其低延迟、高吞吐的特性,成为了许多企业的首选框架。然而,在实际生产环境中,实现毫秒级延迟仍然是一个巨大的挑战。本文将从性能优化的角度出发,详细讲解如...

Java时间类介绍:Date的使用

在Java中用来表示日期的类有很多,最早使用的应该是Date类。Date类大概有两个,分别是:java.util.Date和java.sql.Date。前者对应我们日常生活中常用的日期类,而后者则表示...

不会用Redis做分布式流水号?

引言最近做项目,需要做单据编号,格式固定为:单据类型固定前缀+年月日时间戳+4位流水号,要求是每个单据类型的流水号唯一,方便后续业务使用。之前项目中使用的是UUID作为其他业务的单据编号,和组长沟通了...

用rabbitmq实现消息重发的功能

前言:在开发工作中,有很多时候会遇到要把数据同步给其他部门或三方的场景,这个时候光写一个同步接口是不太稳定的,因为有很多因素会导致同步接口运行失败或未运行,比如调接口之前的代码出现了bug,异常被th...

如何实现延迟队列(JDK/mysql/redis/Rabbit)

何为延迟队列队列,即先进先出的数据结构,就和食堂打饭一样,排在最前面的先打饭,打完饭就走;延迟队列即队列中的元素相比以往多了一个属性特征:延迟...

面试突击40:线程休眠的方法有几种?

在Java中,让线程休眠的方法有很多,这些方法大致可以分为两类,一类是设置时间,在一段时间后自动唤醒,而另一个类是提供了一对休眠和唤醒的方法,在线程休眠之后,可以在任意时间对线程进行唤醒。PS:休...

让java日期和时间处理变得更简单

时间和日期处理是Java编程中不可或缺的一部分。Java提供了许多内置的日期和时间类,可以用来处理日期和时间数据。但是,由于时间和日期的复杂性,处理时间和日期数据可能会变得非常棘手。在本文中,我...

Java如何获取当前日期?

Talkischeap,Showmethecode.--by:LinusTorvalds使用获取当时日期的方式如下:System.currentTimeMillis();获取当时...

流水号设计及Leaf的升级使用

一、需求背景由于业务需要对数据和消息等进行唯一的标识。需要进行唯一流水号的设计。...

糟糕,被SimpleDateFormat坑到啦!

1.问题背景问题的背景是这样的,在最近需求开发中遇到需要将给定目标数据通过某一固定的计量规则进行过滤并打标生成明细数据...

JDK8新特性解析:深入比较LocalDateTime和Date之间的区别

JDK8引入了java.time包,其中包含了LocalDateTime类,它与旧的Date类在表示日期和时间方面有着显著的区别。下面是对这两者之间区别的详细解释:...