getbluetoothservice()调用没有bluetoothmanagercallback

我得到getBluetoothService() called with no BluetoothManagerCallback作为我的Android应用程序中经常出现的错误。

我不知道是什么导致这个或任何有关蓝牙pipe理器callback。 任何人都可以给我一个很好的主意,可能会导致这个问题或从哪里开始寻找。

  • Android蓝牙配对
  • 连接到不可发现的蓝牙设备
  • 手机可以假装是蓝牙键盘吗?
  • 广播,如果蓝牙设备连接/断开连接?
  • 使用adb查找设备蓝牙MAC地址
  • 如何使用android 2.1 sdk解开蓝牙设备
  • 我怎样才能重新连接我的应用程序在每一个开放的蓝牙低功耗设备?
  • Android上的蓝牙“带外”(OOB)配对?
  • 通过阅读Android源代码,似乎是一个警告,你不能做任何事情。 源代码显示,如果你打电话

     BluetoothSocket#connect(); 

    然后它会打电话

     BluetoothAdapter.getDefaultAdapter().getBluetoothService(null); 

    这里的关键是它在上面的行中传递的null参数。 因此,将不会有callback,然后BluetoothSocket类将会发出警告。

    既然这只是一个警告,我认为你不需要做任何事情。

    https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/bluetooth/BluetoothSocket.java第306行https://android.googlesource.com/platform/frameworks/base/+ /master/core/java/android/bluetooth/BluetoothAdapter.java line 1610

    看起来这是一次打开多个蓝牙套接字时被调用的。 我通过确保我一次只打开一个套接字来解决这个问题。

    即使在我的应用程序被closures之后,我也会得到这个错误,我无法以任何可能的方式去除它。 在这个开始发生之后,我需要重新启动手机,因为我再也无法打开蓝牙了。

    现在(使用相同的代码),它只发生在我的手机之一..也许这是一个司机的问题。

    在收到BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED状态为BluetoothHeadset.STATE_CONNECTED后,直接尝试BluetoothSocket.connect()后收到此消息。 BluetoothSocket.connect()也失败了。 在尝试BluetoothSocket.connect()之前添加了500ms的超时之后,这解决了我实际连接的问题。 消息“getBluetoothService()调用没有BluetoothManagerCallback”仍然存在,但一切正常。

    getBluetoothService()调用没有BluetoothManagerCallback

    我也面临同样的问题。 但是我解决了。 在我的情况下,已经有一个套接字处于打开状态,我试图打开另一个套接字。 所以我们试图一次打开多个套接字作为客户端。 我觉得这是原因

    如果BluetoothServerSocket当前不接受[bluetoothServerSocket.accept()],并且尝试连接的UUID相同,则也会出现此问题。

    如果您确定您正在接受服务器套接字,请仔细检查是否没有提供太短的超时(我之前已将其设置为200来检查某些内容,哎呦)。