代码地址如下:
http://www.demodashi.com/demo/13390.html与普通蓝牙相比,低功耗蓝牙显著降低了能量消耗,允许Android应用程序与具有更严格电源要求的BLE设备进行通信,如接近传感器、心率传感器等低功耗设备。
声明蓝牙权限
和使用普通蓝牙一样,在使用低功耗蓝牙时也需要在AndroidManifest
声明蓝牙权限,声明蓝牙权限的代码如下
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
如果想让你的App只适用于BLE设备,可以在AndroidManifest
中继续添加以下代码
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
如果想让你的App适用于不支持BLE的设备,只需要将required="true"
改为required="false"
然后在代码中通过以下方法来判断设备是否支持BLE,
private void checkIsSupportBLE() {
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show();
finish();
}
}
注:
LE信标往往与位置有关,如果想要通过
`BluetoothLeScanner
方法来获取正确的扫描结果,需要在AndroidManifest
中声明位置权限,声明位置权限可以使用ACCESS_COARSE_LOCATION
或则ACCESS_FINE_LOCATION
,如过不声明位置权限,将不会返回蓝牙的扫描结果。
开启BLE
开启BLE只需要以下两步
-
在Andro