首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取蓝牙配对设备的设备名称?

如何获取蓝牙配对设备的设备名称?
EN

Stack Overflow用户
提问于 2019-05-21 02:59:42
回答 2查看 288关注 0票数 0

我在获取蓝牙设备的名称时遇到了一些麻烦。

我正在连接一台名称为MTP-3的蓝牙打印机(此名称是硬代码),但我想连接另一台具有另一名称的蓝牙打印机,因此我在设置中更改了操作系统配对设备列表中第二台打印机的名称,但它不起作用。

此外,如果我将第一个打印机的名称更改为MTP-3以外的其他名称,打印机仍会连接到我的应用程序。

我正在寻找一些方法,即使我用操作系统更改了名称,也能给出与Android配对的设备的确切名称。

代码语言:javascript
复制
  Set<BluetoothDevice> pairedDevice = bluetoothAdapter.getBondedDevices();

            if (pairedDevice.size() > 0) {
                for (BluetoothDevice pairedDev : pairedDevice) {

    if(pairedDev.getName.equals("MTP-3")){
          bluetoothDevice = pairedDev;
          Toast.makeText(getApplicationContext(), "found it", Toast.LENGTH_SHORT).show();
          break;
    }
}
}
EN

回答 2

Stack Overflow用户

发布于 2019-05-21 03:07:02

您可以从返回的set中获取:

代码语言:javascript
复制
BluetoothAdapter mBluetoothAdapter =BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
票数 0
EN

Stack Overflow用户

发布于 2019-05-21 04:01:15

下面的代码将获取蓝牙名称,如果没有名称,它将返回地址。

代码语言:javascript
复制
public String getDeviceName(){
    if(mBluetoothAdapter == null){
        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    }
    String name = mBluetoothAdapter.getName();
    if(name == null){
        System.out.println("Name is null!");
        name = mBluetoothAdapter.getAddress();
    }
    return name;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56226688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档