我按照Android蓝牙开发者指南(https://developer.android.com/guide/topics/connectivity/bluetooth)中的步骤创建了一个显示BLUEtooth RSSI值的应用。启动我的App的第一个版本后,即使我直接从Bluetooth设置尝试了它,也无法连接到其他Bluetooth设备。我能够找到并配对另一台设备,但是连接在几毫秒后中断。我在Android 9/10上使用Pixel 1和Pixel 2手机
此问题肯定取决于我安装的应用程序,因为我在其他手机上尝试过。在安装之前,我可以通过蓝牙设置配对并连接到第三部手机。之后,我安装了我的应用程序。现在,我在第二部手机上遇到了同样的问题,甚至在第三部手机上也安装了该应用程序。我尝试了每种蓝牙故障排除策略,停止了bluetooh服务,清除了缓存,升级到android 10,并进行了出厂重置。问题仍然存在。手机仍然无法连接,即使这是重置它们后我执行的第一个操作。 但是..有一瞬间的光明。在开发人员设置中将Bluetooth AVRCP版本从1.4切换到1.3,然后又回到1.4,并清除了两个像素上的所有网络信号后,我就可以连接它们了。所以我以为我找到了解决方案并继续致力于该应用程序。我在应用程序中完成了蓝牙扫描过程,并且可以正常工作。在关闭电话后的第二天,我遇到了与以前相同的问题。如果我现在更改Bluetooth AVRCP版本,问题仍然存在。
我将代码上传到github上进行共享(https://github.com/60pfennig/rssiscanner)。我不得不承认,我没有保存代码,这是第一次产生该错误,因为我认为在更改了蓝牙AVRCP版本之后我就解决了它。 但是连接部分几乎与现在相同,除了我在两台设备上都在单独的线程中启动了蓝牙服务器套接字,并且在按下按钮后开始了扫描和连接过程。我使用的所有代码几乎与开发人员指南中的代码相同。