Android Studio - 无法连接到蓝牙设备

时间:2018-01-28 13:43:16

标签: bluetooth connection device connect

好吧,我已经设置了所有设置来创建与另一个蓝牙设备的连接。 我有一个ListView,向我显示与我的蓝牙设备配对的设备,当我点击listView中的所需设备时,它应该连接到它,但不知何故连接没有建立。 以下是配对设备列表的示例:

public void getPairedDevices(){
    pairedDevices = myBluetoothAdapter.getBondedDevices();
    pairedDevices_ArrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1);
    if(pairedDevices.size()>0){
        for(BluetoothDevice device : pairedDevices){
            pairedDevices_ArrayAdapter.add(device.getName()+"\n"+device.getAddress());
        }
    }
    pairedDevices_ListView.setAdapter(pairedDevices_ArrayAdapter);
    pairedDevices_ListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String i = ((TextView) view).getText().toString();
            String address = i.substring(i.length() - 17);
            deviceToConnectTo = myBluetoothAdapter.getRemoteDevice(address);
            connectToDevice(deviceToConnectTo);
        }
    });
}

这是我的connectToDevice() void

public void connectToDevice(BluetoothDevice device){
    try {
        mmSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
        myBluetoothAdapter.cancelDiscovery();
    } catch (IOException e){}

    try{
        mmSocket.connect();
    } catch (IOException e){
        showMsg("Error Connecting to device");
        try{
            mmSocket.close();
        } catch (IOException exception){}
    }
}

showMsg基本上是Toast.makeText,它一直给我“

  

连接到设备时出错

吐司消息,这意味着无论如何都无法连接。

有人可以告诉我为什么吗?

我正在使用API​​级别10并尝试连接到HC-05蓝牙模块。

1 个答案:

答案 0 :(得分:0)

好吧,我似乎设法解决了没有连接到HC-05蓝牙模块的问题。问题是我正在使用的UUID。 我将UUID更改为:

var results = new DataTable();
using(var myExcelConn = new OleDbConnection(excCnnStr))
{
    using (var cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", myExcelConn))
    {
        myExcelConn.Open();

        var adapter = new OleDbDataAdapter(cmd);
        adapter.Fill(results);
    }
}

//add new col
results.Columns.Add("uploadedBy", typeof(System.Int32));
foreach (DataRow row in results.Rows)
{
    row["uploadedBy"] = loggedInUserId; // set uploader
}

using (var con = new SqlConnection(sCon))
{
    con.Open();
    using (var oSqlBulk = new SqlBulkCopy(con))
    {
        oSqlBulk.DestinationTableName = "Table3";

        oSqlBulk.ColumnMappings.Add("name", "name");
        oSqlBulk.ColumnMappings.Add("address", "address");
        oSqlBulk.ColumnMappings.Add("country", "country");
        oSqlBulk.ColumnMappings.Add("uploadedBy", "uploadedBy");
        oSqlBulk.WriteToServer(results);
    }
} 

它用于蓝牙等串行板,如HC-05。