使用Android SDK检测附近移动设备的方法?

使用Android SDK检测附近移动设备的方法?,android,bluetooth,wifi,discovery,cellular-network,Android,Bluetooth,Wifi,Discovery,Cellular Network,我正在考虑开发一款安卓应用程序,它可以检测附近所有或最邻近的移动设备(iPhone、安卓等)。我不需要与这些设备进行交互,只需要检测它们,并且要求检测到的设备不需要安装任何特殊/不寻常的应用程序。该应用程序只需要适用于典型的美国设备和网络 我已经考虑过几种方法来实现这一点(以某种方式检测蓝牙、wifi或蜂窝传输/标识符),但我正在寻找一种方法来检测附近相对较大比例的设备。我不确定这些方法中哪些是可能的/可行的,或者如何将它们付诸实践 也许是使用蓝牙:有没有办法使用Android SDK检测不可发

我正在考虑开发一款安卓应用程序,它可以检测附近所有或最邻近的移动设备(iPhone、安卓等)。我不需要与这些设备进行交互,只需要检测它们,并且要求检测到的设备不需要安装任何特殊/不寻常的应用程序。该应用程序只需要适用于典型的美国设备和网络

我已经考虑过几种方法来实现这一点(以某种方式检测蓝牙、wifi或蜂窝传输/标识符),但我正在寻找一种方法来检测附近相对较大比例的设备。我不确定这些方法中哪些是可能的/可行的,或者如何将它们付诸实践

也许是使用蓝牙:有没有办法使用Android SDK检测不可发现的蓝牙设备(不在可发现模式下),但我不确定这在安卓系统中是否更普遍

也许是使用细胞塔桅杆开关模拟?好的,这几乎肯定是Android无法做到的,但是。

我想你应该看到,这是一篇论文,你不能免费观看,但在中,它明确指出:

对蓝牙设备安全性的担忧导致了“不可发现”模式的规范,该模式可防止设备在蓝牙设备搜索过程中被列出。但是,对于知道其地址或能够发现其地址的设备来说,不可分离的蓝牙设备是可见的本文讨论使用增强的暴力搜索攻击检测不可发现的蓝牙设备。我们的结果表明,使用多个搜索设备和压缩数据包定时攻击不可发现的蓝牙设备的平均时间可以在24小时内减少到


但是,对于android应用程序,您需要检测时间在几秒钟以内,而不是24小时以内,因此可能还没有实用的解决方案。

谢谢!希望还有另一种方法。还应该注意的是(在我有限的经验中),Android公开的蓝牙API非常有限,因此您无法实现任何高级搜索技术。我读到NDK并没有改善这种情况。我发现了另一篇关于查找“不可发现”蓝牙设备的伟大文章:查找它们需要很长时间……查找时间是个问题,这使它变得不切实际,而不是不可能。我真的很感谢你和大家分享你的研究和努力,也许我们都可以通过这种方式学到一些东西!