我已经制作了一个简单的Android应用程序来扫描相邻的BLE启用的Android设备,并在应用程序上显示他们的设备地址和名称。该应用程序似乎运行正常,但BLE设备未被扫描。我使用的BLE设备是MOTO G和HTC ONE E8。请提供合适的解决方案。我在下面提供了回调方法实现。
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mLeDeviceListAdapter.addDevice(device);
mLeDeviceListAdapter.notifyDataSetChanged();
}
});
}
};
答案 0 :(得分:0)
远景,但是,您是否已将以下内容添加到mainfest.xml
?
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
要检查您的设备是否支持BLE,您可以添加以下内容:
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
但是,如果您希望将应用程序提供给不支持BLE的设备,您仍应在应用程序的清单中包含此元素,但必须设置required =“false”。然后在运行时,您可以使用PackageManager.hasSystemFeature():
来确定BLE可用性
查看android docs here。
答案 1 :(得分:0)
Android仅支持中心角色,而另一个中心无法发现中心。