我不确定这是否是提出问题的正确位置,但由于我在这个Q& A网站上的任何人可能遇到与我类似的问题并且找到了一个很好的解决方案,因此我没有得到答案。
如果应用的用户非常接近某些地方,我的Android应用需要得到通知。我可以从GPS数据计算这些信息,但是对于详细的计算,GPS数据是不够的。例如,应用程序需要知道用户是否已离开一个房间并进入另一个房间。
我的情况有什么解决方案吗?我相信市场上可能存在某种类型的设备可以通知附近的任何Android设备听它接近它。
答案 0 :(得分:1)
根据你给出的例子,没有。位置,接近度和地理围栏都是非常不同的东西。位置是"我现在在哪里" - 接近度包括"我距离对象X"和地理围栏是我在指定区域的范围内#34;
大多数位置数据是通过GPS(地理定位)或基于诸如&#34之类的事实获得的;设备正在使用具有已知位置的塔的信号。"所以"接近"数据通常基于使用具有已知位置的服务的设备,而不是基于到那些设备的距离的实际接近度,例如信号强度。
运营商在某种程度上有关于接近度的数据,用于保持设备连接到网络,但我不相信他们共享它。即使他们这样做了,您也需要与运营商后端系统集成,而不是应用程序。"运营商可以运行痕迹来获取位置,但他们并不经常这样做。
您可以绘制已知的塔位置并获取信号强度数据,但是您需要对其他已知信号源进行三角测量。换句话说,知道你与蓝牙设备的距离并不能告诉你哪个方向,所以你需要至少2个信号强度源(及其相对位置和信号强度图)来确定位置。 GPS依靠几个卫星的信号强度来对设备位置进行三角测量。
没有任何雷达"我知道的设备,你也不应该很快就会想到它们。通常"接近已知位置"即使是用于地理围栏的目的(该设备是在城市内的#34;或者在商店附近的#34;)也足够好了。这是非常粗糙的地理围栏,并且基本上没有帮助设备离开一个房间并进入另一个房间。问题
但是,并不是说您无法在受控环境中为专门的应用创建某种信号数据。例如,您可以设置设备,以便您知道信号强度将非常强大"当设备从一个房间移动到另一个房间时,用于特定房间的信号源。或者设置蓝牙设备,与您正在监控的设备相比,测量自己的信号强度,然后以某种方式对数据进行标准化,以确定设备接近度和三角测量设备位置。
一个复杂的问题听起来很简单......也许有一天会是这样。
答案 1 :(得分:0)
一般情况下,没有API,但是,如果您可以制作自己的"指纹"你可能得到它的位置相当可靠。例如,可以扫描具有信号强度的激励点中可用的wifi网络,并制定自己的逻辑来确定"指纹"足够接近实际地点以提高接近警报。
当然,当你足够近以开始指纹识别时,你首先应该有GPS接近度来提醒你。