我正在尝试实现一个手机应用程序,如果两个用户在物理世界中靠近对方,该应用程序就会发出一个标志。
我正在寻找一种解决方案,它不需要在用户手机上主动打开应用程序,就可以做出这一决定并发出警告。
这可能吗?也许通过蓝牙,或者也许通过使用GPS&从每部手机上传的时间数据,并让服务器确定用户是否足够亲密?
我正在寻找<20英尺。
我认为如果没有操作系统支持,您无法做到这一点。苹果的核心定位框架可以让你设置一部iPhone来监听iBeacon,唤醒手机,如果它检测到iBeacon的话,就在后台启动你的应用程序,但当手机被锁定,应用程序被暂停时,你不能让iPhone广播iBeacon信号。苹果可以,但你做不到。
我相信iBeacons所基于的基本BLE框架也有同样的限制。
苹果公司已与公共卫生官员合作,按照您的描述追踪新冠肺炎暴露情况。你在手机上安装该应用程序,它使用BLE来广播ID和监听运行该应用程序的其他用户,并记录它看到的其他应用程序用户。如果有人感染了新冠肺炎,有一种方法可以向与感染者关系密切的每个人发送通知。
编辑:
使用记录的GPS数据和服务器很可能可以做到这一点,但这将是一个电池、网络和计算负担。(我想它不会满足你的要求,因为应用程序必须在后台处于活动状态,并且GPS必须始终通电。(GPS需要大量电力,除非你一直运行GPS,否则你会错过在你想要的<距离20英尺。如果你确实收集了恒定的GPS数据,你就必须将其全部上传,然后进行一系列的批量处理,以找到接近度。你会想做第一次,使用一个相当大的距离阈值的粗略计算,在附近没有其他设备的情况下丢弃数据,然后对一个小得多的数据集进行第二次。即使采用这种方法,也意味着要进行大量的数字运算。