getbondeddevices返回0个设备

vsnjm48y  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(228)

我正在创建一个应用程序,但在获取所有蓝牙配对设备时遇到问题。这里是我的devicelistactivity,它应该获取并将所有设备放在一个listview中。

public class DeviceListActivity extends AppCompatActivity {

    private BluetoothAdapter mBtAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_device_list);

        ArrayAdapter<String> pairedDeviceArrayAdapter = new ArrayAdapter<>(this, R.layout.device_name);

        ListView pairedDevicesListView = findViewById(R.id.paired_devices);
        pairedDevicesListView.setAdapter(pairedDeviceArrayAdapter);

        mBtAdapter = BluetoothAdapter.getDefaultAdapter();
        Set<BluetoothDevice> pairedDevices = mBtAdapter.getBondedDevices();

        if (pairedDevices.size() > 0)
        {
            findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE);
            for (BluetoothDevice device : pairedDevices)
            {
                pairedDeviceArrayAdapter.add(device.getName()+"\n"+device.getAddress());
            }

        }
        else
        {
            pairedDeviceArrayAdapter.add("no paired devices "+pairedDevices.size());
        }
    }

不幸的是,没有设备被识别,它直接进入else状态(“没有配对的设备”被显示)。我的手机,靠近我的笔记本电脑,蓝牙功能无法识别,我不知道为什么。我还验证了androidstudio手机仿真器启用了蓝牙。此外,我在清单文件中添加了这两个权限:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

我不知道这个问题从何而来。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题