我试图用我的设备枚举所有配对的蓝牙设备。在设置中,我可以查看配对设备,但以下代码不会返回任何项目:
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
从扫描中,它返回true。
我做错了什么或不理解?
答案 0 :(得分:4)
您的代码完全正确。我在我的应用程序中有完全相同的东西,我从来没有任何用户抱怨此功能不起作用。请检查您应用的其他部分。下面是我的应用程序的片段,它做同样的事情,我拥有你所描述的相同权限。
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.");
}
答案 1 :(得分:0)
确保在启动 for row in df:
if df['D'].str.contains(' and ', case=True, na=False, regex=True):
Activity