Android 蓝牙4.0 BLE问题总结

最近做蓝牙4.0相关项目的时候遇到了很多的问题,所以在此记录并总结一下。

问题总结说明

1、首先使用蓝牙必须先打开设备的蓝牙,android为我们提供了两种打开方式,强制打开和非强制打开,如下:

/**
 * 强制打开蓝牙
 */
fun openBluetooth(): Boolean = mBluetoothAdapter!!.enable()

强制打开:这种打开方式在绝大多数手机上是可以直接打开用户的蓝牙的,不会给用户弹框提示;但是有少部分手机还是会弹出提示框,要用户允许后才会打开蓝牙。这种方式太过于流氓,所以我们一般都是使用的非强制打开方式。

注意:使用上面的方法打开的蓝牙是异步的,它会立即给你返回,但是从 off 到 on 的过程需要一个时间,所以只能通过系统broadcast发出的intent里的state判断蓝牙是否已经打开。

/**
 * 非强制打开蓝牙
 */
val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
startActivityForResult(enableBtIntent, 101)

非强制打开:这种方式会弹框提示用户,用户点击允许后才会打开蓝牙。在实际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值