- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚开始使用 Bluecove API
,似乎经过大量研究后,我仍然找不到方法来检查 RemoteDevice
是否已与正在运行的计算机配对。
首先,我成功地开始扫描,但是,我发现奇怪的是 Bluecove
没有提供仅查找处于可发现模式的设备的方法,因此需要检查是否已配对...
更准确地说,我正在“翻译”一个我用 C# 开发的项目,使用 InTheHand.dll
进行蓝牙管理。这个组件很棒,帮助我实现了我想做的事情:在可发现模式和范围内扫描设备、启动配对过程、通过蓝牙流处理数据。我需要对 Bluecove 做同样的事情。
为什么寻找答案这么难?尽管我设法配对了一个我知道未通过 RemoteDevice.authenticate()
配对的设备,但该文档几乎没有提及配对。
总而言之:
注意:无论配对状态如何,同时使用 RemoteDevice.isAuthenticated()
和 RemoteDeviceHelper.implIsAuthenticated(remoteDevice)
始终返回 false
。
注2:此外,查看 http://bluecove.googlecode.com/svn/trunk/bluecove/src/main/java/com/intel/bluetooth/RemoteDeviceHelper.java 中的 RemoteDeviceHelper.java
,有一个 boolean 配对的私有(private)属性。
似乎没有公共(public)方法会使用它 ...
更奇怪和令人沮丧的是,在调试器模式下,查看特定的 RemoteDevice
,我可以看到此属性的值。当设备未配对时,它确实为 false;如果设备已配对,则为 true! 那么为什么 API 不能告诉我呢?
我该怎么办?感谢您的帮助!
最佳答案
配对设备列表:
import javax.bluetooth.*
...
RemoteDevice[] rdList = LocalDevice.getLocalDevice().getDiscoveryAgent().retrieveDevices(DiscoveryAgent.PREKNOWN);
获取配对设备的名称和地址:
rdList[0].getBlueToothAddress();
rdList[0].getFriendlyName(true);
一些评论:
关于java - 蓝湾 : check if device is paired?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28740810/
我正在尝试将 Bluecove 用于我正在编写的应用程序。 jar 的 2.1 版本不起作用,所以 Google 了一下告诉我它在 x64 上一直存在问题,所以我转向最新的 2.1.1“快照”,但我仍
我刚开始使用 Bluecove API,似乎经过大量研究后,我仍然找不到方法来检查 RemoteDevice 是否已与正在运行的计算机配对。 首先,我成功地开始扫描,但是,我发现奇怪的是 Blueco
我正在尝试关闭蓝牙服务,但 Bluecove 在连接关闭方法 ( https://code.google.com/p/bluecove/issues/detail?id=90 ) 上有错误,我正在尝试
我是一名优秀的程序员,十分优秀!