Xamarin/Android 蓝牙搜索配对数据传输

关键类

BluetoothAdapter(蓝牙适配器)、BluetoothDevice(蓝牙设备)、BluetoothSocket(蓝牙通讯)、BroadcastReceiver (广播接收器)

关键权限

BLUETOOTH(利用这个权限去执行蓝牙通信)、BLUETOOTH_PRIVILEGED(配对连接时需要)、BLUETOOTH_ADMIN(让app拥有启动设备发现或操纵蓝牙设置,必须声明BLUETOOTH_ADMIN权限)

注意:真机android版本6.0及以上使用蓝牙搜索需要开发权限ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATION

具体应用
BluetoothAdapter(蓝牙适配器)
BluetoothAdapter.DefaultAdapter(获取本机蓝牙适配器)
IsEnabled:蓝牙状态(关闭/打开)
BondedDevices:获取已经配对过的蓝牙设备列表
IsDiscovering:是否发现蓝牙设备

Enable():打开蓝牙
Disable():关闭蓝牙
StartDiscovery():开始发现蓝牙
CancelDiscovery():取消发现蓝牙
GetRemoteDevice(address);获取远程设备-对方蓝牙

BluetoothDevice(蓝牙设备)
UUID uuid = UUID.FromString(“00001101-0000-1000-8000-00805F9B34FB”);
方法
CreateInsecureRfcommSocketToServiceRecord(uuid):创建通讯通道

BluetoothSocket(蓝牙通讯)
Socket = device.CreateInsecureRfcommSocketToServiceRecord(uuid);
方法:
Connect():连接蓝牙
Close():关闭蓝牙连接
属性:
IsConnected:蓝牙连接状态
InputStream:读取输入数据
OutputStream:传出输出数据

BroadcastReceiver (广播接收器)
继承广播接收器,进行重新OnReceive ()方法,用于接收广播信息(蓝牙)

实现蓝牙设备监听
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Xamarin.Forms 是一个跨平台的应用程序开发框架,可以用于开发 iOS、Android 和 Windows Phone 应用。在 Xamarin.Forms 中实现蓝牙扫描、配对、通讯,需要使用 Xamarin.Forms 的蓝牙插件,该插件可以让您在 Xamarin.Forms 中访问蓝牙功能。 以下是在 Xamarin.Forms 中实现蓝牙扫描、配对、通讯的步骤: 1. 安装蓝牙插件 使用 Xamarin.Forms 的蓝牙插件可以很容易地访问蓝牙功能。可以使用 NuGet 包管理器来安装蓝牙插件。 在 Visual Studio 中,选择项目,右键单击“管理 NuGet 包”,搜索Xamarin.Forms.Bluetooth”,并安装。 2. 检查蓝牙权限 在使用蓝牙之前,需要检查应用程序是否具有蓝牙权限。可以使用 Xamarin.Essentials 库来检查权限。 在 Xamarin.Essentials 中,使用 Permissions 模块检查蓝牙权限。以下是代码示例: ``` var status = await Permissions.CheckStatusAsync<Permissions.LocationWhenInUse>(); if (status != PermissionStatus.Granted) { status = await Permissions.RequestAsync<Permissions.LocationWhenInUse>(); if (status != PermissionStatus.Granted) { // Handle permission denied return; } } ``` 3. 扫描蓝牙设备Xamarin.Forms 中,可以使用蓝牙插件的 CrossBluetoothLE.Current.Adapter 属性来扫描蓝牙设备。以下是代码示例: ``` var adapter = CrossBluetoothLE.Current.Adapter; adapter.ScanTimeout = TimeSpan.FromSeconds(10); adapter.DeviceDiscovered += (s, a) => { // Handle discovered devices }; await adapter.StartScanningForDevicesAsync(); ``` 4. 配对蓝牙设备Xamarin.Forms 中,可以使用蓝牙插件的 CrossBluetoothLE.Current.Adapter 设备配对。以下是代码示例: ``` var device = // get the device to pair await device.ConnectAsync(); await device.PairAsync(); ``` 5. 连接蓝牙设备Xamarin.Forms 中,可以使用蓝牙插件的 CrossBluetoothLE.Current.Adapter 设备连接。以下是代码示例: ``` var device = // get the device to connect await device.ConnectAsync(); ``` 6. 通讯 在连接蓝牙设备后,可以使用蓝牙插件的 CrossDeviceBluetoothLE.Current.Device 属性来进行通讯。以下是代码示例: ``` var device = // get the connected device var service = await device.GetServiceAsync(serviceUuid); var characteristic = await service.GetCharacteristicAsync(characteristicUuid); await characteristic.WriteAsync(data); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值