getbondeddevices() 不返回配对的蓝牙设备
getbondeddevices() not returning paired bluetooth devices
我正在尝试枚举所有与我的设备配对的蓝牙设备。在设置中我可以查看配对的设备,但以下代码没有 return 任何项目:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDeviceSet = bluetoothAdapter.getBondedDevices();
我看过 this 和其他使用此方法的帖子,但我似乎无法让它发挥作用。
我在 Manifest.xml 中拥有以下权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
此外,如果我将其中一个配对设备置于发现模式并进行扫描,则该设备会返回配对状态。如果我检查:
device.getBondState() == BluetoothDevice.BOND_BONDED
根据扫描结果,return是正确的。
我哪里做错了或者没理解?
您的代码完全正确。我的应用程序中有完全相同的东西,而且我从未收到任何用户抱怨此功能不起作用。请检查您应用程序的其他部分。下面是我的应用程序的片段,它执行相同的操作,我拥有与您描述的相同的权限。
BluetoothAdapter 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) {
mPairedDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
} else {
mPairedDevicesArrayAdapter.add("No Paired Device.");
}
在开始 Activity
之前确保蓝牙状态已启用
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(!mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.enable();
}
我正在尝试枚举所有与我的设备配对的蓝牙设备。在设置中我可以查看配对的设备,但以下代码没有 return 任何项目:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDeviceSet = bluetoothAdapter.getBondedDevices();
我看过 this 和其他使用此方法的帖子,但我似乎无法让它发挥作用。
我在 Manifest.xml 中拥有以下权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
此外,如果我将其中一个配对设备置于发现模式并进行扫描,则该设备会返回配对状态。如果我检查:
device.getBondState() == BluetoothDevice.BOND_BONDED
根据扫描结果,return是正确的。
我哪里做错了或者没理解?
您的代码完全正确。我的应用程序中有完全相同的东西,而且我从未收到任何用户抱怨此功能不起作用。请检查您应用程序的其他部分。下面是我的应用程序的片段,它执行相同的操作,我拥有与您描述的相同的权限。
BluetoothAdapter 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) {
mPairedDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
} else {
mPairedDevicesArrayAdapter.add("No Paired Device.");
}
在开始 Activity
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if(!mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.enable();
}