getBluetoothService gebeld zonder BluetoothManagerCallback

Ik krijg vaak getBluetoothService() called with no BluetoothManagerCallbackals een fout in mijn Android-applicatie.

Ik heb geen idee wat dit veroorzaakt of iets over terugbellen via Bluetooth Manager. Kan iemand me een goed idee geven van wat dit probleem zou kunnen veroorzaken of waar ik moet beginnen met zoeken.


Antwoord 1, autoriteit 100%

Als je de Android-broncode inleest, lijkt het een waarschuwing te zijn waar je niets aan kunt doen. De broncode laat zien dat als je belt

BluetoothSocket#connect();

Dan zal het bellen

BluetoothAdapter.getDefaultAdapter().getBluetoothService(null);

De sleutel hier is de null-parameter die het in de bovenstaande regel doorgeeft. Hierdoor wordt er niet teruggebeld en geeft de BluetoothSocket-klasse een waarschuwing.

Aangezien het slechts een waarschuwing is, denk ik niet dat u er iets aan hoeft te doen.

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


Antwoord 2, autoriteit 16%

Het lijkt erop dat dit wordt gebeld wanneer meerdere Bluetooth-aansluitingen tegelijk worden geopend. Ik heb dit gerepareerd door ervoor te zorgen dat ik slechts één socket per keer opende.


Antwoord 3, Autoriteit 7%

Ik krijg deze foutmelding, zelfs nadat mijn aanvraag is gesloten en ik kan het op elke mogelijke manier niet kwijt. Nadat dit begint, moet ik mijn telefoon hard opstarten omdat ik niet meer in staat ben om zelfs Bluetooth in te schakelen.

Op dit moment (met dezelfde code) gebeurt het alleen op een van mijn telefoons. Misschien is het een kwesties van de stuurprogramma’s.


Antwoord 4

Ik heb dit bericht ontvangen nadat ik heb geprobeerd aan BluetoothSocket.Connect () rechtstreeks na ontvangst van de Bluetoothheadset.action_Connection_State_changed met een staat van Bluetoothheadset.State_Connected. De BluetoothSocket.Connect () is ook mislukt. Na het toevoegen van een time-out van 500ms alvorens te proberen aan BluetoothSocket.Connect () opgelost mijn probleem van het feitelijk verbinden. Het bericht “GetBluetoothService () riep met geen bluetoothmanagercallback” nog steeds, maar alles werkt.


Antwoord 5

Dit komt er ook op als de BluetoothServersocket momenteel geen [BluetoothSerSchocket.Accept ()] accepteert met dezelfde UUID die u probeert aan te sluiten.

Als u er zeker van bent, accepteert u met de Server-aansluiting, controleer dan dat u geen te korte time-out hebt verstrekt (ik had het eerder in 200 ingesteld om iets te controleren, whoops).


Antwoord 6

GetBluetoothService () wordt genoemd zonder Bluetoothmanagercallback

Ik ben ook geconfronteerd met hetzelfde probleem. Maar ik heb opgelost.
In mijn geval is al een socket in de open staat en probeer ik een ander stopcontact te openen. Dus proberen we meer dan één socket per keer als klant te openen. Ik voelde dat dit de reden is

Other episodes