尝试从空数组读取-Android蓝牙getUuids

时间:2019-03-27 13:03:45

标签: java android bluetooth

使用蓝牙在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

显然这是一个非常简单的错误,但我无法解决,谢谢任何人。

谢谢!

0 个答案:

没有答案