Android搜索附近蓝牙
来源:互联网 发布:昆特牌 淘宝 编辑:程序博客网 时间:2024/04/30 11:00
人人都是梦想家
1.首先添加蓝牙所需要的权限
<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"/>
2.获取蓝牙适配器,并检查蓝牙是否打开,没有打开的话就询问用户是否打开
//获取蓝牙适配器 mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); Log.d(TAG, "蓝牙是否打开: " + mBluetoothAdapter.isEnabled()); //判断当前蓝牙是否打开 if (!mBluetoothAdapter.isEnabled()) { //如果蓝牙处于关闭状态,弹出提示询问用户是否打开蓝牙 Intent enabler = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enabler, REQUEST_ENABLE); }
3.动态注册广播来接受搜索到的蓝牙信息
private BroadcastReceiver mBluetoothReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(BluetoothDevice.ACTION_FOUND.equals(action)){//每扫描到一个设备,系统都会发送此广播。 //获取蓝牙设备 BluetoothDevice scanDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if(scanDevice == null || scanDevice.getName() == null) return; Log.d(TAG, "搜索到了: name="+scanDevice.getName()+" address="+scanDevice.getAddress()); } } };
4.注册广播
//注册广播搜索蓝牙 private void registerReceiver() { IntentFilter filter = new IntentFilter(); //发现设备 filter.addAction(BluetoothDevice.ACTION_FOUND); //设备连接状态改变 filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED); //蓝牙设备状态改变 filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(mBluetoothReceiver, filter); }
5.开始搜索
mBluetoothAdapter.startDiscovery();
6.停止搜索
mBluetoothAdapter.cancelDiscovery();
7.获取本机蓝牙详细信息
//获取蓝牙详情 private void getBlueToothDetail() { //获取本机蓝牙名称 String name = mBluetoothAdapter.getName(); //获取本机蓝牙地址 String address = mBluetoothAdapter.getAddress(); Log.d(TAG, "蓝牙名称: " + name + "蓝牙地址: " + address); //获取已配对蓝牙设备 Set<BluetoothDevice> devices = mBluetoothAdapter.getBondedDevices(); Log.d(TAG, "已配对蓝牙数: " + devices.size()); for (BluetoothDevice bonddevice : devices) { Log.d(TAG, "已配对蓝牙 name =" + bonddevice.getName() + " address" + bonddevice.getAddress()); } }
Demo下载:https://fir.im/buletooth
源码:https://github.com/lvkaixuan/Bluetooth
效果图
阅读全文
0 0
- Android搜索附近蓝牙
- Android 6.0蓝牙搜索不到附近设备
- Android 6.0 搜索不到附近蓝牙问题解决
- 搜索附近的蓝牙设备
- 蓝牙通信-搜索附近的蓝牙设备
- Android搜索附近的beacon
- Android 扫描附近的蓝牙设备并连接蓝牙音响
- android之蓝牙通信(一)(检测蓝牙、开启蓝牙、扫描附近蓝牙设备)
- android 蓝牙搜索
- android 蓝牙 搜索匹配
- Android 搜索附近wifi并连接
- android 高仿饿了么poi附近搜索
- Android BlueTooth搜索附近和连接
- android POI搜索,附近搜索,周边搜索定位介绍
- android 蓝牙通讯实现手机蓝牙的开启,并扫描附近可见的蓝牙设备
- android -- 蓝牙 bluetooth (三)搜索蓝牙
- android -- 蓝牙 bluetooth (三)搜索蓝牙
- android -- 蓝牙 bluetooth (三)搜索蓝牙
- 项目中使用POI导出Excel的一些心得(包含复杂表头和动态页数与列数)
- Content-Type的类型
- Liunx基础_配置yum源仓库
- 数据结构与算法--图的遍历
- MyEclipse快捷键大全
- Android搜索附近蓝牙
- PDF.JS+JAVA跨域
- 黑客是怎样买彩票的?中奖率提示2倍
- SpringMVC实现poi 解析excel 导入导出
- HDF5
- 二叉树
- CSS笔记
- eclipse下的Servers工程与Tomcat的关系
- Spring Boot 出现 Could not load JDBC driver class [com.mysql.jdbc.Drivers]