Android 蓝牙开发,申请打开蓝牙
申请打开蓝牙
<!-- 蓝牙权限 --> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
private final int BLUE_REQUEST_CODE = 551; public void showBLEDialog() {final Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enableIntent, BLUE_REQUEST_CODE); }
申请结果返回。。。。。
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 551){if (resultCode != RESULT_OK){LgqLogPlus.e("蓝牙返回失败。啦啦啦啦"); // showOpenBlue();}else {}}
1、实现效果
2、主要实现方法
(1)创建服务端:
//先用本地蓝牙适配器创建一个serversocket
serSocket= bluetoothAdapter.listenUsingRfcommWithServiceRecord(bluetoothAdapter.getName(), UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
Utils.sonUiStateMsg("正在等待连接");
if(socket!=null){Utils.sonUiStateMsg("连接成功");}
//等待连接,该方法阻塞
socket=serSocket.accept();
(2)创建客户端
//创建一个socket尝试连接,UUID用正确格式的String来转换而成
socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
Utils.sonUiStateMsg("正在连接,请稍后......");
//该方法阻塞,一直尝试连接
socket.connect();
(3)接收消息线程:
class ReadMsg extends Thread{@Overridepublic void run(){byte[] buffer = new byte[1024];//定义字节数组装载信息int bytes;//定义长度变量InputStream in=null;try {//使用socket获得输入流in = socket.getInputStream();//一直循环接收处理消息while(true){if((bytes=in.read(buffer))!=0){byte[] buf_data = new byte[bytes];for (int i = 0; i < bytes; i++){buf_data[i]=buffer[i];}String msg=new String(buf_data);//最后得到String类型消息Utils.sonUiInfoMsg(msg);TestObServernotice.getInstance().notifyObserver(0,2,msg);}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();Utils.sonUiStateMsg("连接已断开");}finally{try {in.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}
(4)发送消息方法
OutputStream out=socket.getOutputStream();
out.write(msg.getBytes());//将消息字节发出
3、实现demo
demo:Android蓝牙开发,实现发送信息,接收消息demo_蓝牙发送消息app,android蓝牙信息-Android代码类资源-CSDN下载
demo云盘:百度网盘 请输入提取码
在线bug交流:QQ1085220040
Android 蓝牙开发,申请打开蓝牙相关推荐
- Android 蓝牙开发(一) -- 传统蓝牙聊天室
Android 蓝牙开发(一) – 传统蓝牙聊天室 Android 蓝牙开发(三) – 低功耗蓝牙开发 项目工程BluetoothDemo 一.蓝牙概览 以下是蓝牙的介绍,来自维基百科: 蓝牙(英语: ...
- Android 蓝牙开发(三) -- 低功耗蓝牙开发
Android 蓝牙开发(一) – 传统蓝牙聊天室 Android 蓝牙开发(三) – 低功耗蓝牙开发 项目工程BluetoothDemo 前面已经学习了经典蓝牙开发,学习了蓝牙的配对连接和通信,又通 ...
- Android蓝牙开发系列文章-蓝牙设备类型知多少?
在写<Android蓝牙开发系列文章-蓝牙音箱连接>时,计划细化出一篇讲解蓝牙设备类型的文章,现在它来了~ 阅读其他内容,可以点击<Android蓝牙开发系列文章-策划篇>,或 ...
- Android蓝牙开发系列文章-蓝牙mesh(一)
在<Android蓝牙开发系列文章-策划篇>中我们对蓝牙专题的内容进行整体规划,现在让我们一点点揭开他的面纱~ 本文是关于蓝牙mesh的首篇文章,由好友CSDN博主yk150915提供,在 ...
- Android蓝牙开发系列文章-蓝牙音箱连接
经过一段时间的折腾,我的Android Studio终于可以正常工作了,期间遇到的坑记录在了文章<创建Android Studio 3.5第一个工程遇到的坑>. 我们在<Androi ...
- Android 移动开发 近场通信 蓝牙通信
Android 近场通信 蓝牙通信 一.近场通信介绍 1.三种主要近场通信技术的特点 2.比较 3.近场通信技术的未来发展 二.蓝牙通信 1.核心 2.布局 3.功能 其他配置 最终显示 一.近场通信 ...
- Android底层开发之旅—蓝牙系统分析
2019独角兽企业重金招聘Python工程师标准>>> Android蓝牙系统分为四个层次,内核层.BlueZ库.BlueTooth的适配库.BlueTooth的JNI部分.Java ...
- android nfc 配对蓝牙 开发,NFC和蓝牙两种配对方式_配件评测-中关村在线
在功能上方面,OVEVO SH03B蓝牙耳机除了支持蓝牙连接之外,还支持NFC(近距离无线通讯技术)功能.用户只需打开手机的NFC功能,与耳机背面的"NFC"字符区域进行对碰即可配 ...
- Qt低功耗蓝牙系列一(什么是低功耗蓝牙开发,低功耗蓝牙的通信机制原理)
文章目录 前言 Android 蓝牙 BLE 低功耗蓝牙协议栈简介 蓝牙的选用 BLE 低功耗蓝牙模块具体应用场景 蓝牙灯控方案 BLE 蓝牙智能锁方案 蓝牙 MAC 地址扫描打印解决方案 蓝牙 Me ...
最新文章
- 报名 | 加密金融生态大咖私享会
- 联想K系引领智能电视潮流,Android 4.0将成行业标配
- Ubuntu 14.04 分区方案
- java——什么是浅表副本
- 前端利器倚天剑之sublime
- linux 内存一直在增加,linux – 缓存内存和共享内存总和超过总内...
- Java并发编程实战_阿里P9整理分享的亿级流量Java高并发与网络编程实战PDF
- 一些Arduino 测试代码
- lg手机历史机型_lg手机大全【详细介绍】
- fgo日服服务器维护,FGO国服和日服哪个福利更好 圣晶石维护补偿对比
- 眼图测试(硬件测试、信号完整性测试)
- 新入职软件安装-win10
- 计算机软件系统的三个层次,计算机软硬件系统
- 百度糯米用大数据重塑O2O产业
- 快搜搜:在网上找工作如何防骗!
- 有道云笔记markdown教程
- Jaeger入门简介
- 微信小程序之js模块化
- 威纶触摸屏使用U盘/SD卡上传或下载程序步骤及编译失败处理对策
- 云计算系统测试之技术概念