AndroidThings蓝牙问题处理 叁歲伎倆 2022-05-26 05:08 155阅读 0赞 Android things系统中并没有提供setting application,所以所有的蓝牙处理需要我们自行维护,故如果我们需要使用蓝牙连接必须使用Android 自己去做扫描,配对,连接整个过程 比如: 蓝牙配对 ![70][] 解除配对 ![70 1][] 以及设置pin,连接等,都需要调用大量的反射,在这里我给大家推荐的方法是: 使用things sdk中存在的BluetoothConnectionManager类,通过查阅文档得知,google为了做things上的蓝牙适配,特此对外公布了此接口 ### **蓝牙配对示例:** ### import android.bluetooth.BluetoothDevice; import com.google.android.things.bluetooth.BluetoothConnectionManager; import com.google.android.things.bluetooth.BluetoothPairingCallback; import com.google.android.things.bluetooth.PairingParams; ... public class PairingActivity extends Activity { BluetoothConnectionManager mBluetoothConnectionManager; @Override protected void onCreate(Bundled savedInstanceState) { super.onCreate(savedInstanceState); mBluetoothConnectionManager = BluetoothConnectionManager.getInstance(); mBluetoothConnectionManager.registerPairingCallback(mBluetoothPairingCallback); } @Override protected void onDestroy() { super.onDestroy(); mBluetoothConnectionManager.unregisterPairingCallback(mBluetoothPairingCallback); } private void startPairing(BluetoothDevice remoteDevice) { mBluetoothConnectionManager.initiatePairing(remoteDevice); } private BluetoothPairingCallback mBluetoothPairingCallback = new BluetoothPairingCallback() { @Override public void onPairingInitiated(BluetoothDevice bluetoothDevice, PairingParams pairingParams) { // Handle incoming pairing request or confirmation of outgoing pairing request handlePairingRequest(bluetoothDevice, pairingParams); } @Override public void onPaired(BluetoothDevice bluetoothDevice) { // Device pairing complete } @Override public void onUnpaired(BluetoothDevice bluetoothDevice) { // Device unpaired } @Override public void onPairingError(BluetoothDevice bluetoothDevice, BluetoothPairingCallback.PairingError pairingError) { // Something went wrong! } }; } ### 蓝牙连接示例: ### import android.bluetooth.BluetoothDevice; import com.google.android.things.bluetooth.BluetoothConnectionManager; import com.google.android.things.bluetooth.BluetoothConnectionCallback; import com.google.android.things.bluetooth.BluetoothProfile; import com.google.android.things.bluetooth.ConnectionParams; ... public class ConnectActivity extends Activity { BluetoothConnectionManager mBluetoothConnectionManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBluetoothConnectionManager = BluetoothConnectionManager.getInstance(); mBluetoothConnectionManager.registerConnectionCallback(mBluetoothConnectionCallback); } @Override protected void onDestroy() { super.onDestroy(); mBluetoothConnectionManager.unregisterConnectionCallback(mBluetoothConnectionCallback); } private void connectToA2dp(BluetoothDevice bluetoothDevice) { mBluetoothConnectionManager.connect(bluetoothDevice, BluetoothProfile.A2DP_SINK); } // Set up callbacks for the profile connection process. private final BluetoothConnectionCallback mBluetoothConnectionCallback = new BluetoothConnectionCallback() { @Override public void onConnectionRequested(BluetoothDevice bluetoothDevice, ConnectionParams connectionParams) { // Handle incoming connection request handleConnectionRequest(); } @Override public void onConnectionRequestCancelled(BluetoothDevice bluetoothDevice, int requestType) { // Request cancelled } @Override public void onConnected(BluetoothDevice bluetoothDevice, int profile) { // Connection completed successfully } @Override public void onDisconnected(BluetoothDevice bluetoothDevice, int profile) { // Remote device disconnected } }; } 官方文档请查阅 https://developer.android.google.cn/things/sdk/apis/bluetooth.html \------------------------------------------------------------------------- 注意:NXP Pico i.MX7D请务必插上天线再进行调试 [70]: /images/20220526/e49364672e0f4eb881397e50934c9bf2.png [70 1]: /images/20220526/6bc0c515b20d44a4b15b66c19f67b646.png
相关 uniapp连接蓝牙相关问题 设备蓝牙连接成功, 获取不到设备蓝牙服务列表? 这种情况一般会接收到uniapp的错误码(10004), 我们可以前往uniapp官网API模块查看错误码信息,查看后可以 野性酷女/ 2023年10月10日 14:18/ 0 赞/ 72 阅读
相关 android 蓝牙串口指令,蓝牙串口助手 本软件为蓝牙客户端通信工具(即:蓝牙从机模式),可进行蓝牙串口通信测试。能连接单片机及PC的蓝牙串口。 软件功能: 1、搜索蓝牙设备,并显示蓝牙设备的class与RSSI( 女爷i/ 2022年10月14日 01:09/ 0 赞/ 247 阅读
相关 ios蓝牙开发(四)BabyBluetooth蓝牙库介绍 [BabyBluetooth][] 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx。 特色: 基于原生CoreBlu 短命女/ 2022年07月13日 13:49/ 0 赞/ 474 阅读
相关 iOS蓝牙开发(一)蓝牙相关基础知识 蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== 一时失言乱红尘/ 2022年07月13日 13:47/ 0 赞/ 295 阅读
相关 关于蓝牙历史以及蓝牙基本介绍 什么是蓝牙4.0, 蓝牙其他标准又是什么 低功耗蓝牙(Low Energy; LE),又视为Bluetooth Smart或蓝牙核心规格4.0版本。其特点具备节能 亦凉/ 2022年06月10日 11:46/ 0 赞/ 625 阅读
相关 AndroidThings蓝牙问题处理 Android things系统中并没有提供setting application,所以所有的蓝牙处理需要我们自行维护,故如果我们需要使用蓝牙连接必须使用Android 自己去 叁歲伎倆/ 2022年05月26日 05:08/ 0 赞/ 156 阅读
相关 Android手机蓝牙总结之传统蓝牙 出处:[Android手机蓝牙总结之传统蓝牙][Android] 最近,公司有一个项目时关于手机蓝牙和硬件蓝牙相互通信的需求。基于之前很久没有学习硬件的知识,这次记录下来,以 ゝ一纸荒年。/ 2022年05月18日 08:57/ 0 赞/ 700 阅读
相关 蓝牙设计 1.问:什么是蓝牙通信? 答:蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接,现在已经成为IEEE802.15标准,得到全球上万家厂商支持 旧城等待,/ 2022年05月13日 02:46/ 0 赞/ 344 阅读
相关 CarPlay wireless(蓝牙+WiFi)连接方案(蓝牙部分) 本文转自:[https://blog.csdn.net/huangke2012hk/article/details/51226220][https_blog.csdn.net_ 深碍√TFBOYSˉ_/ 2022年02月18日 23:43/ 0 赞/ 1195 阅读
还没有评论,来说两句吧...