使用蓝牙在android上开发应用程序,我可以正常搜索新设备,但无法连接。我尝试使用标准UUID制作控件,如果无法使用它,我尝试实现getUuids方法,以获取有问题的设备的Uuid。
public void connect(BluetoothDevice device) {
BluetoothSocket tmp = null;
mBluetoothAdapter.cancelDiscovery();
UUID uuids = device.getUuids()[0].getUuid();
try {
device.createBond();
mSocket = device.createInsecureRfcommSocketToServiceRecord(DEFAULT_UUID);
} catch (IOException e1) {
// TODO Auto-generated catch block
Log.d(TAG, "socket not created");
e1.printStackTrace();
}
try {
mSocket = device.createInsecureRfcommSocketToServiceRecord(uuids);
mSocket.connect();
} catch (IOException e) {
try {
mSocket.close();
Log.d(TAG, "Cannot connect");
} catch (IOException e1) {
Log.d(TAG, "Socket not closed");
e1.printStackTrace();
}
}
}
我的问题出在
UUID uuids = device.getUuids()[0].getUuid();
在此部分中,错误返回:
java.lang.NullPointerException: Attempt to read from null array
显然这是一个非常简单的错误,但我无法解决,谢谢任何人。
谢谢!