Android 蓝牙4.0踩坑—扫描不到设备
16lz
2021-01-23
蓝牙打开之后启动扫描。用2.0
bluetoothAdapter.startDiscovery();这个方法可以发现蓝牙设备。
但是使用低功耗蓝牙的api:
BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner();bluetoothLeScanner.startScan(scanCallback);
则没有设备返回,扫描不到设备。检查蓝牙状态也是打开的。如果碰到有权限的问题就申请两个位置的权限:
如果还是扫描不到设备。把手机状态栏下拉看看那个位置信息是不是开启的,我遇到的问题就是没有开启。把位置服务
开启就正常了。这个bug也纠结了我好久才发现。
public static boolean isLocationOpen(final Context context){ LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); //gps定位 boolean isGpsProvider = manager.isProviderEnabled(LocationManager.GPS_PROVIDER); //网络定位 boolean isNetWorkProvider = manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); return isGpsProvider|| isNetWorkProvider;}
更多相关文章
- Android获取局域网所有设备的ip地址
- Android设备系统及屏幕分辨率统计信息汇总(截至2018年7月)
- Android端搜索局域网中的设备
- android中进入设置页面(常见网络设置页面,设置页面,蓝牙页面等等)的a
- Android ProgressBar 自定义样式(六),仿真QQ pad版加载(位置居中)
- [置顶] Android ble低功耗蓝牙开发
- Android设备电量监控
- 利用浏览器默认方法获取浏览器当前位置