Java 连接到蓝牙设备

Java 连接到蓝牙设备,java,android,bluetooth,Java,Android,Bluetooth,我对android应用程序开发和java非常陌生,但我一直在做这个项目,遇到了一些问题。我将一个USB蓝牙狗连接到我的Raspberry Pi上,目标是让我的android应用程序在Raspberry Pi范围内时都能感知。我知道加密狗的MAC地址。我真正需要做的就是连接到它,但是每当我运行btSocket.connect()时,我都会得到提示。这是我到目前为止的代码 BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter

我对android应用程序开发和java非常陌生,但我一直在做这个项目,遇到了一些问题。我将一个USB蓝牙狗连接到我的Raspberry Pi上,目标是让我的android应用程序在Raspberry Pi范围内时都能感知。我知道加密狗的MAC地址。我真正需要做的就是连接到它,但是每当我运行btSocket.connect()时,我都会得到提示。这是我到目前为止的代码

BluetoothAdapter btAdapter =  BluetoothAdapter.getDefaultAdapter();
BluetoothDevice transmitter = btAdapter.getRemoteDevice("00:15:83:0C:BF:EB");
try {   btSocket = transmitter.createInsecureRfcommSocketToServiceRecord(MY_UUID);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    Log.d(getClass().getName(), "Creating socket failed");
   }
try {
    btSocket.connect();
} catch (IOException e) {
    // TODO Auto-generated catch block
Log.d(getClass().getName(), "Connection failed");
}
这是堆栈跟踪,因为我还不能发布图像

java.io.IOException: Unable to start Service Discovery
at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoohtSocket.java:455)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:230)
at com.example.alarmservice.ScheduledService.onHandleIntent(ScheduledService.java:49)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.HAndler.dispatchMessage(Handler.java:89)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)

我还对如何知道如何使用
myuuid
感到困惑。谢谢你的帮助

打印堆栈跟踪,它将有更多关于出错原因的信息。如果这还不够,我可以发布更多信息。我试着让它变得简单,因为我必须打字。似乎这个错误取决于你的手机类型(每个制造商都准备你自己的BT软件实现)。尝试使用此解决方案: