iOS谷歌地图如何检测我正在进入汽车?

Jer*_*ian 5 iphone google-maps ios

最新的iOS谷歌地图应用程序(目前版本4.9.0)有一个非常好的功能,但到目前为止我无法弄清楚这是如何可能的.

这个功能是:每当我进入我的车,尝试开车到某个地方时,谷歌地图会向我发送通知,猜测我要去哪里,即使手机处于锁定状态,也能估算出流量,谷歌地图应用程序已经使用了好几天了.截图提供如下:

谷歌地图推送通知

作为iOS开发人员,这对我来说非常了不起.它怎么能在后台生活并发现我正在准确地进入一辆汽车?

我的一个猜测是,Google地图正在使用重要的位置更改API.通过这种方式,应用程序可以在后台模式中唤醒,但是,当我进入我的车时仍然无法保证它被唤醒.我已经使用这种机制编写了一个测试应用程序,虽然它可以在后台唤醒,但时机不正确,未能检测到我正在进入汽车.

CLLocationManager类参考

如果您启动此服务并且您的应用程序随后终止,则系统会在新事件到达时自动将应用程序重新启动到后台.在这种情况下,传递给应用程序的选项字典:willFinishLaunchingWithOptions:和application:didFinishLaunchingWithOptions:应用程序委托的方法包含密钥UIApplicationLaunchOptionsLocationKey,以指示您的应用程序是由于位置事件而启动的.重新启动后,您仍必须配置位置管理器对象并调用此方法以继续接收位置事件.重新启动位置服务时,会立即将当前事件传递给您的代理.此外,即使在启动位置服务之前,也会使用最新的位置对象填充位置管理器对象的位置属性.

任何建议和帮助表示赞赏.

Jer*_*ian 3

@alexkent 的一条评论指出了我的错误。这是 Apple 的 Maps.app,而不是 Google 地图。所有积分均属于@alexkent。

该通知来自 Apple 的 Maps.app,而不是 Google 地图。iOS9 中的一项新功能(您必须运行该功能)是能够检测您何时在车内。我想这是通过检测汽车收音机的蓝牙信号来完成的(我没有检查过)。我不相信有可用于此功能的开发人员 API。