socket 入门 (二)蓝牙

private UUID sppUUID;   
private BluetoothDevice mBluetoothDevice;
// 蓝牙 socket
private BluetoothSocket mSocket = null;
/**
 *
 * @param device: 需要连接的wifi,从广播中扫描蓝牙。
 */
public void connect(BluetoothDevice device, OnConnectListener listener) {
    this.mBluetoothDevice = device;
   
    if (device.getUuids() == null || device.getUuids().length == 0) {
        this.sppUUID = UUID.fromString(UUID_BT_DEFAULT);
    } else {
        this.sppUUID = device.getUuids()[0].getUuid();//UUID.fromString("00001101-0000-8000-00805f9b34fb");
    }
    connect(true);
}

 

private void connect(final boolean needCallback) {
    new Thread(() -> doConnect(needCallback)).start();
}
/**
开始连接
*/
private void doConnect(final boolean needCallback) {
    try {
        if (mBluetoothDevice != null) {
            BluetoothSocket tmp = mBluetoothDevice.createInsecureRfcommSocketToServiceRecord(sppUUID);
            mSocket = tmp;
        }
        //http://www.android-doc.com/guide/topics/connectivity/bluetooth.html
        // Cancel discovery because it will slow down the connection
        BluetoothAdapter.getDefaultAdapter().cancelDiscovery();
        if (mSocket != null) {
            mSocket.connect();
            mSocket.isConnected;
        }
        Log.e(TAG, "doConnect: success");
        if (needCallback) {
            connectHandler.sendEmptyMessage(1);
        }

    } catch (IOException e) {
        
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值