赞
踩
蓝牙打开之后启动扫描。用2.0
bluetoothAdapter.startDiscovery();这个方法可以发现蓝牙设备。
但是使用低功耗蓝牙的api:
BluetoothLeScanner bluetoothLeScanner = bluetoothAdapter.getBluetoothLeScanner(); bluetoothLeScanner.startScan(scanCallback);
则没有设备返回,扫描不到设备。检查蓝牙状态也是打开的。如果碰到有权限的问题就申请两个位置的权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
如果还是扫描不到设备。把手机状态栏下拉看看那个位置信息是不是开启的,我遇到的问题就是没有开启。把位置服务
开启就正常了。这个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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。