我找到了解决方案.

首先,我需要一个BroadcastReceiver,如:

private BroadcastReceiver myReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)) {

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

if (device.getBondState() == BluetoothDevice.BOND_BONDED) {

// CONNECT

}

} else if (BluetoothDevice.ACTION_FOUND.equals(action)) {

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

// Discover new device

}

}

};

然后我需要注册接收器如下:

IntentFilter intentFilter = new IntentFilter(BluetoothDevice.ACTION_FOUND);

intentFilter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);

context.registerReceiver(myReceiver, intentFilter);

通过这种方式,接收器正在侦听ACTION_FOUND(发现新设备)和ACTION_BOND_STATE_CHANGED(设备更改其绑定状态),然后我检查新状态是否为BOND_BOUNDED以及它是否与设备连接.

现在当我调用createBond方法(在问题中描述)并输入引脚时,ACTION_BOND_STATE_CHANGED将触发,而device.getBondState()== BluetoothDevice.BOND_BONDED将为True并且它将连接.

android蓝牙开启后会尝试自动连接,以编程方式配对后,Android会自动连接蓝牙设备...相关推荐

  1. android蓝牙开启后会尝试自动连接,Android 自动连接蓝牙

    蓝牙是手机和智能硬件通信常用的方式,蓝牙通信可分为传统蓝牙和低功耗蓝牙(BLE).其中BLE的连接断开等操作可以通过Android SDK中提供的API进行操作,而传统蓝牙部分SDK并没有提供相关的A ...

  2. android 连接ble键盘,如何在Android上以编程方式配对和连接HID蓝牙设备(蓝牙键盘)...

    它表示Android蓝牙API提供以下蓝牙配置文件的实现,但您可以实现接口BluetoothProfile编写自己的类以支持特定的蓝牙配置文件 . 耳机 A2DP Health 设备 没有关于如何为H ...

  3. 三星root后进入android system recovery后,如何尝试使用ODIN去恢复启动界面是Android system recovery详解...

    刷机,是手机方面的专业术语,是指通过一定的方法更改或替换手机中原本存在的一些语言.图片.铃声.软件或者操作系统.通俗来讲,刷机就是给手机重装系统.刷机可以使手机的功能更加完善,并且可以使手机还原到原始 ...

  4. Bluetooth---如何使用Android蓝牙开发

    原文地址:http://developer.android.com/guide/topics/wireless/bluetooth.html Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据 ...

  5. android蓝牙编程资料搜集

    Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据的无线传输. 本文档描述了怎样利用android平台提供的蓝牙API去实现蓝牙设备之间的通信,蓝牙设备之间的通信主要包括了四个步骤:设置蓝牙设 ...

  6. android蓝牙开发——连接设备

    为了在两台设备上创建一个连接,你必须在软件上实现服务器端和客户端的机制,因为一个设备必须必须打开一个server socket,而另一个必须初始化这个连接(使用服务器端设备的MAC地址进行初始化). ...

  7. android蓝牙文件传输的实现

    一.android设备蓝牙通信介绍 1.1配对 两个蓝牙设备在建立通信连接之前需要先彼此感知到对方的存在,这一过程就是配对.使用android蓝牙api进行配对分为以下几步: 1.设备A与B均开始蓝牙 ...

  8. android 蓝牙和wifi存在冲突

    各位大神,我在android蓝牙接收数据并处理之后,通过wifi将这些处理后的数据上传到邮箱服务器上,但是发现蓝牙连接接收数据和wifi会有冲突,wifi时不时的会掉线,同时连接服务器连接时间非常的长 ...

  9. android gravity参数,android - 如何以编程方式设置layout_gravity?

    android - 如何以编程方式设置layout_gravity? 我的问题很简单, 如何以编程方式设置我的按钮layout_gravity? 我在互联网上发现了这个,但它只是抛出了一个Nullpo ...

最新文章

  1. 判断两个多边形相交的面积_聊聊3D模型组件—顶点,边,多边形
  2. DB2 在线分析处理(OLAP函数的使用)
  3. 基础练习 十进制转十六进制
  4. VTK:Filtering之PerlinNoise
  5. apt-get更新软件包_如何使用Apt-fast加速软件包下载和更新
  6. 投资理财要趁早,基金风险是最小!
  7. 视频会议系统OpenMeetings v5.1.0源码
  8. 韩国两名男子因偷拍汽车旅馆视频被捕 1600名房客受害
  9. Alexa 世界网站排名研究
  10. Redis添加密码认证Cacti监控读取Redis状态值为-1的最快速解决方案
  11. 【语音隐写】基于matlab GUI LSB语音信号数字水印嵌入提取(带面板)【含Matlab源码 1676期】
  12. lammps教程:real和metal单位下能量转换公式
  13. html5空白站位符号,空格代码(隐形空白符号)
  14. 山东理工大学计算机基础考试试题,山东理工大学计算机基础试题08
  15. 项目管理可参考华为这10张表格
  16. 一个小白的自渡-Git 仓库基础操作
  17. 闽南师范大学计算机科学学院副书记,CCF闽南师范大学学生分会完成换届
  18. #五、再一种正方:2
  19. clear 和evict
  20. 《电磁场与电磁波》---恒定电场思维导图

热门文章

  1. python生成多维数组方法总结(多维创建有问题的情况)
  2. Python 关于super 的 用法和原理(挖坑)
  3. 板子armv7_32怎么挂载windows文件夹?
  4. opencv python destroyAllWindows() destroyWindow() 销毁窗口
  5. Intel Realsense D435 python(Python Wrapper)example02: NumPy and OpenCV 用窗口展示并排堆叠的RGB流和深度流
  6. Powershell交互式
  7. Spring常见问题
  8. 计算机基础——原码、反码、补码转换
  9. spring mvc @ModelAttribute 基本类型 自定义对象解析流程
  10. 32岁学python 人工智能_python深入学习好还是直接学人工智能好?