Android 蓝牙连接到配对设备

Android bluetooth connect to paired device

目前我有一个设备(Arduino 的蓝牙模块),我想通过蓝牙连接。但每次我尝试连接时,都没有任何反应。有人可以告诉我我做错了什么吗? 我的代码:

private static final UUID CONNUUID = UUID.fromString("0000110E-0000-1000-8000-00805F9B34FB");


public void connectDevice(BluetoothDevice bd){
       try{
           pairDia = ProgressDialog.show(this, "", "Connecting...", true, true);
           BluetoothSocket bs = bd.createInsecureRfcommSocketToServiceRecord(CONNUUID);

       }catch(Exception e){
           e.printStackTrace();
           this.finish();
       }
    }
}

最终我想连接到设备,然后为其创建一个套接字,然后我可以在其中读取和写入字节。谢谢

如果您的设备已配对。然后先用这个获取设备UUID

final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

// now tm.getdeviceID()...and is this equal to your CONNUUID?

在清单中设置蓝牙权限...现在可以通过以下方式查看设备列表:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();   

Set<BluetoothDevice> devices = adapter.getBondedDevices();    

for (BluetoothDevice device : devices) {

   String sDeviceName = device.getName().trim();

   Log.d("device_found", sDeviceName);
}

您忘记在您的 BluetoothSocket 上调用 connect():

// ...
BluetoothSocket bs = bd.createInsecureRfcommSocketToServiceRecord(CONNUUID);
bs.connect(); // note: blocking call
// ...

参见example code on Google Developer pages