gpt4 book ai didi

java - Android中如何连接蓝牙设备?

转载 作者:行者123 更新时间:2023-12-01 04:19:20 24 4
gpt4 key购买 nike

我正在开发一个必须连接到蓝牙设备的应用程序。

我可以扫描蓝牙设备并通过ListView列出配对的设备。

我想在单击ListView上的设备时连接到蓝牙设备。

这段java代码是当我点击ListView上的设备项目时的 Action 。

pair_devices_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub

AlertDialog.Builder deviceInfo = new AlertDialog.Builder(DeviceList.this);
mBluetoothAdapter.cancelDiscovery();//stop scan

String info = ((TextView) arg1).getText().toString();
String address = info.substring(info.length()-18);

BluetoothDevice connect_device = mBluetoothAdapter.getRemoteDevice(address);

try {
BluetoothSocket socket = connect_device.createRfcommSocketToServiceRecord(my_UUID);
socket.connect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
});

当我执行APP时,当我输入以下代码时,它总是崩溃:

BluetoothDevice connect_device = mBluetoothAdapter.getRemoteDevice(address);

但是当我将字符串“address”更改为地址device.getAddress时,它工作正常。

我显示字符串地址。它的内容是蓝牙设备的MAC地址,但它的类型是字符串。

这里的getRemoteDevice类型我选择字符串。

所以我不明白为什么当我使用字符串address时应用程序总是崩溃???

最佳答案

MAC地址由17个字符组成,你取18个。

String address = info.substring(info.length()-17);

关于java - Android中如何连接蓝牙设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com