最近刚好有一个需求,需要实时收取并保存指定蓝牙广播,用于蓝牙定位应用。

然后我使用老方法注册广播开启蓝牙搜素,发现并不能实时收到广播,有时会隔个几秒。

这个当然是不行的,蓝牙定位最低要求也是需要一秒一次。并且我手上的蓝牙板子,是每300毫秒就发送一次广播的。

在网上找了很多资料,一直没有实现。最近突然发现一个方法可以,好了废话不多说,直接上代码。

1.首先权限配置

2.  6.0以上记得动态权限

if (Build.VERSION.SDK_INT >= 23) {

int checkAccessFinePermission = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);

if (checkAccessFinePermission != PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE},

1);

Log.e(getPackageName(), "没有权限,请求权限");

return;

}

Log.e(getPackageName(), "已有定位权限");

}

3. 初始化蓝牙BLE

BluetoothAdapter mBluetoothAdapter;

BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);

mBluetoothAdapter = bluetoothManager.getAdapter();

if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

startActivityForResult(enableBtIntent, 1);

}

4.开启搜索

private void toSearch() {

if (mBluetoothAdapter.isDiscovering()) {

mBluetoothAdapter.stopLeScan(mLeScanCallback);

}

mBluetoothAdapter.startLeScan(mLeScanCallback);

}

5.监听回调

private BluetoothAdapter.LeScanCallback mLeScanCallback =

new BluetoothAdapter.LeScanCallback() {

@Override

public void onLeScan(final BluetoothDevice device, int rssi,

byte[] scanRecord) {

if (device.getAddress().equals("59:47:18:41:00:07")) {//比较MAC

Log.e("LeScanCallback","BluetoothAdapter.LeScanCallback mac: "+device.getAddress());

}

}

};

6. 操作上述步骤,你会发现搜索速度快的飞起,并且是一直在搜素,不像老的方法只能12秒(我记得是)后就不在搜索。

本文地址:https://blog.csdn.net/weixin_37592723/article/details/107904426

android 定位蓝牙,Android BLE定位应用(蓝牙搜索方法)相关推荐

  1. 【Android】蓝牙开发——BLE(低功耗蓝牙)(附完整Demo)

    目录 目录 前言 一.相关概念介绍 二.实战开发 三.项目演示 四.Demo案例源码地址 五.更新记录 1.2020/12/29 :修改 setupService()中错误 2.2021/05/14 ...

  2. Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别

    找到一篇介紹BT与BLE使用差别的文章, 写的很清晰,看完基本明白了 ----------------------------------------------------------------- ...

  3. 蓝牙4.0、经典蓝牙、BT、BLE的关系与区别

    蓝牙3.0 比较老的标准了. 蓝牙4.0   蓝牙4.0标准是2012年推出的蓝牙标准,是蓝牙3.0的升级版本,相比3.0版本它更省电.成本更低,3毫秒低延迟.具有超长有效连接距离和AES-128加密 ...

  4. ESP32经典蓝牙和BLE的使用 (基于Arduino)

    ESP32蓝牙和BLE简述和基本使用方法 文章目录 ESP32蓝牙和BLE简述和基本使用方法 经典蓝牙串口通信 低功耗蓝牙 BLE (常用) BLE 服务器和客户端通信 经典蓝牙串口通信 #inclu ...

  5. Android 停车地图及停车导航,停车场蓝牙定位导航方案

    停车场蓝牙定位导航方案基于微能信息开发的蓝牙定位系统方案,与固有停车场管理系统深度结合,为顾客在智能手机终端提供全方面的停车场空余车位导航.记录停车位.反向寻车.查找路线.查找公共设施等服务. 停车场 ...

  6. Android BLE(低功耗蓝牙)在Android不同版本的适配问题,华为Mate30扫描不到蓝牙模块

    一.前言 截止到本文完成的日期为止(2020年04月16日),笔者对Android 5.0~Android 10的部分手机进行了适配测试.该文中所遇到的问题基本都出现在国产定制系统(EMUI.MIUI ...

  7. Android蓝牙bt/ble开发

    参看文档: 蓝牙开发:https://www.jianshu.com/p/4ecc99679451 蓝牙bt/ble区别:https://zhuanlan.zhihu.com/p/59907996 安 ...

  8. Android开发蓝牙与ble设备的通讯

    一.写在前面的话 一直想写一篇关于蓝牙与ble设备通讯的博客,但是一直也不知道从何下手,可能是之前思路不清晰吧,也就一直拖拖拖,拖到现在.最近又做到关于ble设备的项目了,在此总结一下吧.(如有不到位 ...

  9. 怎么查看蓝牙uuid_多设备低功耗蓝牙 Swarm BLE in Android and iOS

    Camellia Café 在这里讲述同时与多个低功耗蓝牙设备的连接及通迅,在Android和iOS中的开发,敬请点击观看视频: 多设备低功耗蓝牙Android和iOShttps://www.zhih ...

  10. 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://develope ...

最新文章

  1. SLAM:VSLAM简介之详细攻略
  2. 从信息瓶颈理论一瞥机器学习的“大一统理论”
  3. 详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
  4. SQL SERVER查询时间条件式写法
  5. Python基础入门_3条件语句和迭代循环
  6. Java生鲜电商平台-团购模块设计与架构
  7. 多传感器融合SLAM研究和学习专栏汇总
  8. linux c 键盘钩子,利用键盘钩子在Windows平台下捕获键盘动作 (转)
  9. 字节跳动财务报表_【实锤】这一波疫情过后,字节跳动要上市了
  10. 简图记录-曾国藩家训 观后感
  11. 北京休闲好去处 适合春游的地方
  12. 信息论领域内的计算方法仿真,Mutual Information,互信息;
  13. Java知识点的总结(一)
  14. 微信小程序—刷脸实名认证
  15. 计算机广东大专院校排名2018,重磅!广东85所专科院校官方排名刚刚出炉,这所高职回归第一!...
  16. 有趣的灵魂是什么样的
  17. 前端vue使用XXTEA进行对称加解密。同时对比rsa算法和xxtea算法的优缺点。
  18. 创建成本中心和修改成本中心
  19. Gerrit Trigger配置
  20. SwiftUI 组件大全之 iOS 15 循环视频背景组件 AVKit 和 AVFoundation

热门文章

  1. mysql 精确毫秒_mysql 精确到毫秒
  2. cesium 智慧城市态势管理系统介绍
  3. 约束布局ConstraintLayout
  4. 十行代码写个彩票随机生成器(双色球+大乐透)
  5. 快速恢复Safengine Protector的Shadow DLL
  6. cctv5直播吧-cctv5在线直播,nba直播吧,足球直播,比分直播,直播吧
  7. 完全免费!60美元的音乐视频格式转换专家下载 (Xilisoft Video Converter Ultimate中文版)...
  8. wait和notify原理
  9. MySQL 示例数据库 employees 的导入与使用
  10. 【RV1126】调试GT911,1024x600 7寸 MIPI 电容触摸屏