import javax.bluetooth.*;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
import java.io.IOException;
public class BluetoothServiceUUIDApp {
public static void main(String[] args) {
try {
LocalDevice localDevice = LocalDevice.getLocalDevice();
DiscoveryAgent agent = localDevice.getDiscoveryAgent();
RemoteDevice[] devices = agent.retrieveDevices(DiscoveryAgent.PREKNOWN);
for (RemoteDevice device : devices) {
if (device.getFriendlyName(false).equals("YourBluetoothSpeakerName")) {
UUID[] uuids = new UUID[]{new UUID(0x1101)}; // 你要搜索的服务UUID
agent.searchServices(null, uuids, device, new ServiceDiscoveryListener() {
public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
for (ServiceRecord record : servRecord) {
String url = record.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);
if (url != null) {
try {
StreamConnection streamConnection = (StreamConnection) Connector.open(url);
// 获取服务UUID
System.out.println("Service UUID: " + record.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false));
streamConnection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void serviceSearchCompleted(int transID, int respCode) {
}
public void inquiryCompleted(int discType) {
}
});
}
}
} catch (BluetoothStateException | IOException e) {
e.printStackTrace();
}
}
}