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

通过蓝牙检测附近的另一个Android设备,第1张

概述好吧,我在这里有一个奇怪的问题.我正在开发 Android游戏,我希望能够让Android手机检测到彼此的存在. 搜索其他玩家的设备将知道其他玩家设备的蓝牙mac地址(来自游戏DB),但是设备将不会配对,并且设备将不会处于可发现模式.此外,只有少数设备可能被发现 – 因此扫描mac地址并不是什么大问题. 我不需要连接到设备,我只需要能够回答一个简单的问题:这个设备附近有这个mac地址吗? 允许在另 好吧,我在这里有一个奇怪的问题.我正在开发 Android游戏,我希望能够让AndroID手机检测到彼此的存在.

搜索其他玩家的设备将知道其他玩家设备的蓝牙mac地址(来自游戏DB),但是设备将不会配对,并且设备将不会处于可发现模式.此外,只有少数设备可能被发现 – 因此扫描mac地址并不是什么大问题.

我不需要连接到设备,我只需要能够回答一个简单的问题:这个设备附近有这个mac地址吗?

允许在另一个用户的屏幕上显示一个配对对话框…我不在乎他们选择的结果是什么……我只需要知道他们的设备是否在那里.

任何帮助将不胜感激!

解决方法 这个用例可能非常适合最近发布的Nearby API.请参阅附近的消息 developer overview

Nearby具有自己的运行时权限,可以使您无需添加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// dialogNearby.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(...);}

免责声明我在使用Nearby API

总结

以上是内存溢出为你收集整理的通过蓝牙检测附近的另一个Android设备全部内容,希望文章能够帮你解决通过蓝牙检测附近的另一个Android设备所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1126318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存