如何解决如果由uuid搜索,则不会调用CompanionDeviceManager'onDeviceFound'回调函数
我正在尝试使用CompanionDeviceManager
通过特定的UUID列表配对BLE设备,但未成功。
使用deviceFilterBuilder.setNamePattern(Pattern.compile(DEVICE_NAME))
的作品。
另一个问题是如何将多个uuid添加到ScanFilter。
deviceManager = currentActivity.getSystemService(CompanionDeviceManager.class);
BluetoothLeDeviceFilter.Builder deviceFilterBuilder = new BluetoothLeDeviceFilter.Builder();
ScanFilter filter = new ScanFilter.Builder().setServiceUuid(ParcelUuid.fromString(uuidString)).build();
deviceFilterBuilder.setScanFilter(filter);
deviceFilter = deviceFilterBuilder.build();
pairingRequest = new AssociationRequest.Builder()
.addDeviceFilter(deviceFilter)
.build();
deviceManager.associate(pairingRequest,new CompanionDeviceManager.Callback() {
@Override
public void onDeviceFound(IntentSender chooserLauncher) {
try {
currentActivity.startIntentSenderForResult(chooserLauncher,SELECT_DEVICE_REQUEST_CODE,null,0);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
Log.d("test","error");
}
@Override
public void onFailure(CharSequence charSequence) {
Log.d("test","error");
}
},null);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。