1 你对蓝牙部分了解很充足;
2 稍微有一点偏差,对于蓝牙技术的特性,蓝牙匹配码是一对一,虽然有0000和1234一样的码,但是并不是广播;
3 我做了蓝牙串口数据采集的模块,所以有一点点见解:
a 很多设备是默认写入了匹配码例如蓝牙耳机,0000或者1234,这时当Android连接该设备的时候已经接收到了设备发来的0000或者1234匹配码,这时再次输入验证匹配即可配对成功;
b 还有一部分设备是没有写入匹配码的,例如蓝牙键盘(部分产品),这是当Android连接该设备的时候会提示你让你在蓝牙键盘输入一个匹配码和Android已经生成的匹配码做匹配验证;
c 当然你也会想到,会有另外一部分设备是需要双方都输入匹配的,具体设备我就不举例说明了~
d 还有一些特殊化的设备匹配,就是不是默认0000或者1234,也不是手动输入,而是自动匹配哦,高版本的蓝牙硬件支持,不过我还没有接触过,应该是利用发射和接收功率判断的,例如很多支持快速匹配的蓝牙耳机,在手机附近即可,无需配对~
2 稍微有一点偏差,对于蓝牙技术的特性,蓝牙匹配码是一对一,虽然有0000和1234一样的码,但是并不是广播;
3 我做了蓝牙串口数据采集的模块,所以有一点点见解:
a 很多设备是默认写入了匹配码例如蓝牙耳机,0000或者1234,这时当Android连接该设备的时候已经接收到了设备发来的0000或者1234匹配码,这时再次输入验证匹配即可配对成功;
b 还有一部分设备是没有写入匹配码的,例如蓝牙键盘(部分产品),这是当Android连接该设备的时候会提示你让你在蓝牙键盘输入一个匹配码和Android已经生成的匹配码做匹配验证;
c 当然你也会想到,会有另外一部分设备是需要双方都输入匹配的,具体设备我就不举例说明了~
d 还有一些特殊化的设备匹配,就是不是默认0000或者1234,也不是手动输入,而是自动匹配哦,高版本的蓝牙硬件支持,不过我还没有接触过,应该是利用发射和接收功率判断的,例如很多支持快速匹配的蓝牙耳机,在手机附近即可,无需配对~
解决方案 »
- SecurityException:ConnextivityService,permission.ACCESS_NETWORK_STATE
- 贡献15本pdf版经典Android教程,很值得看
- 请教一个关于android动态布局的问题
- 请问2.6内核的这几个新event: ABS_TOOL_WIDTH, BTN_TOOL_FINGER, 是什么意思?
- 如何更新Android系统呢?
- Android中如何不使用自带的Apache的包?
- android翻译问题
- 安卓 是否能检测到 深蹲?
- 想要进行android 数据库完成信息注册 有姓名 头像 性别
- androidQ有办法在后台启动Activity吗?
- 全屏Activity打开所有Activity都是全屏的?求解决 (@android:style/Theme.Wallpaper.NoTitleBar.Full)
- 求助下 安卓开发书中得例子打开指定网页但是打不开
有些手机可以通过自动调出蓝牙PIN码输入框来解决,有些却不行,是不是因为每个厂商都有自己的Bluz编译后产品?
BluetoothDevice内有隐藏的setPin方法和setPasskey方法,可惜要是调用的话,没有任何效果,只会弹出输入用的对话框。
关于进程间通讯的方法,本来想通过生成新的BroadcastReceive来接收ACTION_PAIR_REQUEST,结果没有捕获那个broadcast。
Ibinder又不知道该怎么处理..
关于第二点,我说的广播是android系统里的通过sendBroadcast()方法发送的系统内部广播,是android的东西,和你说的传输层的广播不是一回事
之所以想要自动匹配,是为了方便用户第一次使用的时候不用手工匹配了;另外,同事用C#写的winform程序可以实现把匹配码写死在程序里而不用客户输入,于是我也想在android上实现同样的功能。