文档章节

蓝牙自动连接

 温水37度
发布于 2014/02/19 23:43
字数 197
阅读 265
收藏 4

感谢 ClsUtils 类的作者,感谢 oschina.net 上提供的android源代码

(一)  先说说我自己的试验

调用 ClsUtils::createBond() 方法,会弹出一个输入配对密码的对话框,

(二)  跟踪源代码

见源代码 BluetoothPairingDialog.java 

    onClick() 方法中

        DialogInterface.BUTTON_POSITIVE :    

                    (1) byte[] pinBytes = BluetoothDevice.convertPinToBytes(value);

                    (2) mDevice.setPin(pinBytes);

        DialogInterface.BUTTON_NEGATIVE    

                    mDevice.cancelPairingUserInput();

所以可以猜测,mDevice.setPin(pinBytes) 除了设置 pin以外,还带有关闭对话框的功能。

(三) 我的做法

在 BluetoothConnectActivityReceiver 中,

只需要调用 ClsUtils.setPin() 方法就可以了。

不需要调用 ClsUtils.createBond() ,如果调用了 ClsUtils.createBond() 可能会再弹出一个对话框。

不需要调用 ClsUtils.cancelPairingUserInput()

注意:在 ClsUtils.setPin() 方法中,需要加入 byte[] pinBytes = BluetoothDevice.convertPinToBytes(strPin);

BluetoothDevice.convertPinToBytes(strPin) 的实现请参照 BluetoothDevice.java 中的实现

© 著作权归作者所有

粉丝 0
博文 1
码字总数 197
作品 0
深圳
私信 提问
加载中

评论(3)

温水37度 博主

引用来自“zcmain0”的评论

LZ 你都没有 createBond 哪里使用 BluetoothConnectActivityReceiver 接受android.bluetooth.device.action.PAIRING_REQUEST 的广播?好像只有 createBond之后才会收到这个PAIRING_REQUEST广播吧 求赐教!

bluetoothsocket.connect 的时候,如果没有配对,会自动触发配对的,不需要调用 createbond
zcmain0
zcmain0
LZ 你都没有 createBond 哪里使用 BluetoothConnectActivityReceiver 接受android.bluetooth.device.action.PAIRING_REQUEST 的广播?好像只有 createBond之后才会收到这个PAIRING_REQUEST广播吧 求赐教!
itas109
itas109
大神 有蓝牙自动连接的代码吗? 有的话请给我发一份,谢谢。
itas109@qq.com
阿里CES亮相 与联发科合推IoT蓝牙芯片

  【IT168 资讯】近日,阿里巴巴人工智能实验室(AI Labs)与联发科技在2018国际消费电子展(CES)上签署策略合作协议,针对智慧家居控制协定、物联网晶片订制、AI智能硬件等领域展开长期密...

it168网站
2018/01/10
0
0
蓝牙打印,自动链接打印数据

@guancj 你好,想跟你请教个问题:蓝牙打印,第一次连接好了蓝牙,以后再对数据打印的时候。自动连接打印。不需要再次手动连接蓝牙,自动配对。就和你提出的问题一样。请问你是如何解决的...

angry丶hyd
2016/03/10
95
1
android bluetooth——蓝牙的开启、搜索、配对与连接

android 的blt仅仅支持api 18 android4.3以上,有的功能甚至需要api 19 android4.4; 所以我们在做blt项目之前一定要清楚可用的版本范围。 我要讲述的是打开blt大门的操作。这些操作就是如何...

天王盖地虎626
01/11
36
0
利用CoreBluetooth原生框架做蓝牙4.0开发

简介 最近做了一个智能门锁利用蓝牙与app交互的项目。整理一下相关蓝牙知识。下面要讲的是利用原生框架封装demo,且支持蓝牙4.0。 背景 蓝牙分为两种形式: 1)中心者模式 2)管理者模式,一...

静林是真的瓜子
2018/05/10
0
0
Android Bluetooth 蓝牙开发资料大全【新】

转载请标明出处: http://blog.csdn.net/djy1992/article/details/10144843 本文出自:【奥特曼超人的博客】 蓝牙开发,应该是很多人会涉及到的,现在为大家推荐一些资料,还有要注意的是,蓝...

DJY1992
2013/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

华为手机翻译功能怎么使用?这三种方法请务必收藏

华为手机翻译功能怎么使用?在我们的生活中会经常遇到翻译问题,许多外语不好的朋友该怎么办呢?华为手机已经为我们解决了这个问题,今天小编就教大家学会使用华为手机中的三种翻译技巧,需要...

翻译小天才
13分钟前
2
0
企业服务软件开发中需要注意的三个问题

在开发企业服务软件时,我们需要分为:业务需求、用户需求、产品需求,三大需求层次,三个层次互相关联,企业服务软件开发首先要服务业务,需要满足业务的需求,再关注用户体验,也就是用户需...

积木创意科技
16分钟前
2
0
C++容器底层数据结构

内置数组: int arr[10][10];memset(arr,0,10*10*sizeof(int)); //初始化int tmp[10][10];memcpy(arr, tmp, 10 * 10 * sizeof(int));//拷贝 void *memcpy(void *destin, void *source,......

SibylY
16分钟前
2
0
Dubbo-自适应拓展机制

背景 在 Dubbo 中,很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等,这些都是Dubbo的基础组件。这些基础组件的拓展不是在系统框架启动阶段被加载,而是拓展方...

rock-man
44分钟前
6
0
Kali安装fcitx输入法(五笔)

安装fcitx > sudo apt-get install fcitx-rime fcitx-config-gtk3 重启 > sudo reboot fcitx配置 效果就是这样 配置输入法切换 系统设置...

yeahlife
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部