Android 蓝牙4.0 startScan()方法搜索不到设备

蓝牙打开之后启动扫描。用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;
}

原文链接:https://blog.csdn.net/m554762631/article/details/86539282

猜你喜欢

转载自blog.csdn.net/weixin_44355077/article/details/115347349
今日推荐