| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 经典蓝牙使用 -> 正文阅读 |
|
[移动开发]经典蓝牙使用 |
源码地址?https://gitee.com/xzw421771880/bluetooth # Bluetooth #### 介绍 安卓经典蓝牙 #### 软件架构 java语言 Android Studio 4.1.2 先了解一下BluetoothAdapter 1.? 该类仅继承了Object类; 2. BluetoothAdapter代表了移动设备的本地的蓝牙适配器, 通过该蓝牙适配器可以对蓝牙进行基本操作, 例如 : 启动设备发现(startDiscovery), 获取已配对设备(getBoundedDevices), 通过mac蓝牙地址获取蓝牙设备(getRemoteDevice), 从其它设备创建一个监听连接(listenUsingRfcommWithServiceRecord); #### 使用说明 1.BluetoothAdapter.getDefaultAdapter()该静态方法可以获取该适配器对象. 2.? 权限(可以和1放在一起) main中添加 ?? <uses-permission android:name="android.permission.BLUETOOTH" /> ?? <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> ?? <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ?? <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> //开启系统定位 if (Build.VERSION.SDK_INT >= 23&& !isLocationOpen()) { ? ? Intent enableLocate = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); ? ? startActivityForResult(enableLocate,1); }else { } // 申请打开蓝牙 if (!mBluetoothAdapter.isEnabled()) { ? ? Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); ? ? startActivityForResult(enableBtIntent, 1); ? ? return; } //开启应用位置权限 ActivityCompat.requestPermissions(this, ? ? ? ? new String[]{ ? ? ? ? ? ? ? ? Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.WRITE_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION}, ? ? ? ? 0); 3.扫描 参考源码中public void startBluetoothDevicesDiscovery()方法 4.连接 参考源码中 public void getConnectedBlutooth(String address)方法 5.下发数据 public void writeData() #### 参与贡献 1.? Fork 本仓库 2.? 新建 Feat_xxx 分支 3.? 提交代码 4.? 新建 Pull Request #### 特技 1.? 研究过蓝牙的同学应该知道蓝牙下发速度是有瓶颈的 源码中使用ZLibUtils来实现数据压缩能够一定范围的实现数据量介绍,从而增加下发的速度 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/22 23:50:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |