自从我开始开发应用程序以来,我就面临着这个问题。 我可以访问设备的MAC地址,RSSI强度,绑定状态,但是当我尝试获取设备的名称时,设备从未配对过,直到它显示为空。我正在使用Android版本5.1.1。
这是我的BroadcastReceiver:
if (bindingResult.hasErrors())
return new ModelAndView("incident-rovd/create")
.addObject("typeIncident1", incidentTypeLevel1Repository.findAll())
.addObject("typeIncident2", form.getIncidentTypeLevel1() == null ? Collections.emptyList() : incidentTypeLevel2Repository.findAllByParent(form.getIncidentTypeLevel1()))
.addObject("typeIncident3", form.getIncidentTypeLevel2() == null ? Collections.emptyList() : incidentTypeLevel3Repository.findAllByParent(form.getIncidentTypeLevel2()))
.addObject("incidentRovdCreateForm", form);
一切正常,在之前配对设备时,它会正确显示名称和所有其他属性,但是在新设备上,我只会得到空值。
这是我的AndroidManifest.xml
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
final BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if (device.getName() != null) {
mDeviceList.add(device.getName() + "\n" + device.getAddress());
mDevices.add(device);
} else {
mDeviceList.add(getString(R.string.uknown) + "\n" + device.getAddress());
mDevices.add(device);
}
/*
...
Setting adapter for listView
Setting onClickListeners
...
*/
}
}
};
请帮助,非常感谢。