由于Android 10的权限管理机制更新,如果您在应用中使用了蓝牙扫描功能,那么要求必须要开启GPS定位权限。解决方法如下: 1.在AndroidManifest.xml文件中添加ACCESS_FINE_LOCATION权限;
2.申请蓝牙和GPS权限;
private final String[] permissions =
{ Manifest.permission.BLUETOOTH, Manifest.permission.ACCESS_FINE_LOCATION };
requestPermissions(permissions, 0);
3.检查GPS和蓝牙是否打开;
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) && bluetoothManager.getAdapter().isEnabled()){
//蓝牙和GPS已打开,开始蓝牙扫描
}
通过上述步骤,您的应用便可在Android 10下进行蓝牙扫描了。