通过蓝牙检测附近的另一个android设备

| 好吧,我这里有一个奇怪的问题。我正在开发一款Android游戏,希望能够让Android手机检测彼此的存在。 搜索其他玩家的设备将知道其他玩家的设备的蓝牙mac地址(来自游戏数据库),但是这些设备不会配对,并且这些设备也不处于可发现模式。另外,可能只发现了少数设备-因此扫描mac地址并不是什么大问题。 我不需要连接到设备,我只需要能够回答一个简单的问题:该设备具有此mac地址在附近吗? 配对对话框可以出现在其他用户的屏幕上...我不在乎他们选择的结果是什么...我只需要知道他们的设备是否在那儿即可。 任何帮助将不胜感激!     
已邀请:
        该用例可能非常适合最近发布的Nearly API。请参阅附近的消息开发人员概述 附近拥有自己的运行时权限,可避免您向清单添加BLUETOOTH_ADMIN或类似内容。通过利用多种技术(经典蓝牙,BLE,超声),它可以在iOS和Android上运行。可以选择仅使用超声波调制解调器,将范围减小到大约5英尺。 我在下面提供了部分示例,您可以在github上找到更完整的示例
// Call this when the user clicks \"find players\" or similar
// In the ResultCallback you\'ll want to trigger the permission
// dialog
Nearby.Messages.getPermissionStatus(client)
  .setResultCallback(new ResultCallback<Status>() {
    public void onResult(Status status) {
      // Request Nearby runtime permission if missing
      // ... see github sample for details
      // If you already have the Nearby permission,
      // call publishAndSubscribe()
    }
  });

void publishAndSubscribe() {
  // You can put whatever you want in the message up to a modest
  // size limit (currently 100KB). Smaller will be faster, though.
  Message msg = \"your device identifier/MAC/etc.\".getBytes();
  Nearby.Messages.publish(googleApiClient, msg)
      .setResultCallback(...);

  MessageListener listener = new MessageListener() {
    public void onFound(Message msg) {
      Log.i(TAG, \"You found another device \" + new String(msg));
    }
  });

  Nearby.Messages.subscribe(googleApiClient, listener)
    .setResultCallback(...);
}
免责声明我使用附近的API     

要回复问题请先登录注册