在布局中创建的列表视图中列出配对的蓝牙设备

Posted

技术标签:

【中文标题】在布局中创建的列表视图中列出配对的蓝牙设备【英文标题】:list out paired bluetooth devices in listview created in layout 【发布时间】:2013-02-23 12:49:41 【问题描述】:

我想列出我在布局中创建的列表中的所有配对设备。这段代码有什么问题?我刚刚创建了这个函数来显示所有绑定的设备

void tooth_scan() 
    ListView listView = (ListView) findViewById(R.id.pairList);
    Set<BluetoothDevice> pairedDevices = bAdapter.getBondedDevices();
    devicesPaired = new String[pairedDevices.size()];
    int count = 0;
    if (pairedDevices.size() > 0) 
        for (BluetoothDevice device : pairedDevices) 
            devicesPaired[count] = device.getName();
        

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,
                devicesPaired);
        listView.setAdapter(adapter);
    

【问题讨论】:

您是否遇到任何异常或未显示任何条目? @waqas nope 如果我调用此函数,那么应用程序将停止工作并给出错误消息 当你的应用程序失败时,它应该在 logcat 中生成一些信息,在这里发布这些 logcats 我修改了代码怎么注释? 我正在 logcat 中获取此信息 【参考方案1】:
public void showPairedDevices()
    
        Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
        if (pairedDevices.size() > 0) 
            ArrayList<String> bluetoothDevices = new ArrayList<String>();
            for (BluetoothDevice device : pairedDevices) 

                String deviceName = device.getName(); // Get BT name
                String deviceAddress = device.getAddress(); // Get MAC
                ListView listView = (ListView)findViewById(R.id.paired_list);

                bluetoothDevices.add(deviceName);

                final ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,bluetoothDevices);
                listView.setAdapter(adapter);

            

        
    

【讨论】:

确保您使用 Set as you need 获得不同的设备,否则您将获得重复列表。万事如意

以上是关于在布局中创建的列表视图中列出配对的蓝牙设备的主要内容,如果未能解决你的问题,请参考以下文章

android的蓝牙匹配连接

Android蓝牙协议-蓝牙配对与连接

是啥让某些蓝牙设备在 iOS“我的设备”中列出?

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

配对蓝牙设备有优势吗?

UWP蓝牙查找设备耗时较长