Paul Kiddie

J2ME: enumerating Bluetooth services whilst simultaneously getting the service name

March 21, 2008

On at least one device (a BlueSmirf), using the following construct in J2ME agent.searchServices(new int[] {0×100}, new UUID[]{new UUID},dev, this); will fail with an UNREACHABLE error code when searching for available Bluetooth services whilst also retrieving the service name  attribute (0x100). Instead, what I had to do was use agent.searchServices(null,new UUID[]{new UUID},dev, this);

And then once all services have been discovered (in the serviceSearchCompleted() event of the BluetoothListener interface), populate the record with the service name by using the rec.populateRecord(new int[]{0×100}); which seems to work absolutely fine! Hope this helps someone.

👋 I'm Paul Kiddie, a software engineer working in London. I'm currently working as a Principal Engineer at trainline.