Android FastBle 教程,不吃透都对不起自己

本文介绍了Android 4.3以上版本对低功耗蓝牙(BLE)的支持,详细阐述了如何配置BLE权限,包括定位和蓝牙权限。接着,讨论了如何获取BluetoothAdapter,开启蓝牙,以及初始化BleManager。此外,提供了扫描蓝牙设备和连接蓝牙设备的方法。文章最后提到了FastBle库的使用,并附带个人开发经验分享。
摘要由CSDN通过智能技术生成

一、概述


Android 4.3(API 级别 18)引入了内置平台支持低功耗蓝牙(BLE)的核心角色,并提供应用程序可用于发现设备,查询服务和传输信息的API。

与经典蓝牙(Classic Bluetooth)相比,低功耗蓝牙(BLE)旨在提供显着降低的功耗。这允许 Android 应用程序与具有更严格电源要求的 BLE 设备通信,例如接近传感器,心率监视器和健身设备。

二、配置 BLE 权限


1. 配置定位权限

由于 LE Beacons 通常与位置相关联。要在 BluetoothLeScanner 没有过滤器的情况下使用,您必须通过声明应用程序清单文件中的权限 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 权限来请求用户的权限。没有这些权限,扫描将不会返回任何结果。

// MainActivity.java

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M

&& checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED

&& checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {

requestLocationPermission();

} else {

initBluetooth();

}

2. 配置蓝牙权限

要在您的应用程序中使用蓝牙功能,您必须声明蓝牙权限 BLUETOOTH。您需要此权限才能执行任何蓝牙通信,例如请求连接,接受连接和传输数据。

如果您希望应用启动设备发现或操作蓝牙设置,则还必须声明 BLUETOOTH_ADMIN 权限。注意:如果您使用 BLUETOOTH_ADMIN 权限,则您还必须拥有 BLUETOOTH 权限。

如果您要声明您的应用仅适用于支持 BLE 的设备,请在应用的清单中包含以下 BLE 权限:

但是一般来说,蓝牙只是应用程序的一个小功能,所以我们只会在使用到蓝牙功能时,去检查 BLE 是否可用,所以并不需要上述 BLE 权限,取而代之的是使用时检查:

// MainActivity.java

private void initBluetooth() {

// Use this check to determine whether BLE is supported on the device. Then you can

// selectively disable BLE-related features.

// 检查当前手机是否支持 ble 蓝牙

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值