检测到用户使用Android / iOS设备进入了物理位置

如果用户在手机上安装了特定的应用程序,但该应用程序未在前台运行,那么通过Android / iOS设备检测到她已进入物理位置的最佳方法是什么? 假设应用程序具有所有必需的权限,并且在Android的情况下,每分钟都有一个后台服务正在运行。

我可以考虑轮询GPS,但缺点是用户可能已经closures了她的GPS。

如果蓝牙closures,蓝牙唤醒也会发生同样的情况。 同上WiFi。

像放置在位置入口处的硬件发出的超音速声音可以工作吗? (也许像Tagtile的东西?)

你最依赖哪四个? 为Android? 为iOS? 或者你宁愿使用其他方法?

可以跟踪用户的行踪。 虽然我不会继续解释整个过程是如何完成的(因为这相当于编写我自己的关于这个主题的教程),但是在这里覆盖的Apple Docs中已经详细讨论过了(我相信你是什么寻找的是CLLocation )。

这甚至可以在后台运行,在许多地方苹果文档也涵盖了这一点, 其中一个在这里 。

对于iOS应用程序,这是我会推荐的。

如果用户closures了位置跟踪和/或他们的GPS,我相信你将不得不处理它。 追踪一个人,当他们没有给予许可或明确否认许可时,在许多国家是非法的。

编辑

Google Location API让我的头脑转瞬即逝。 也许最知名的和使用的定位服务之一将让你的Android跟踪。

编辑2

如果一个人closures了他们的GPS或Wifi,就没办法告诉他们的物理位置。 如果你能够跟踪一个人,当他们的Wifi或GPSclosures将分类您的应用程序间谍软件 ,并不是一个好主意。