android 蓝牙不停扫描,android – BluetoothAdapter不会停止扫描BLE设备

在我的应用程序中我有启动和停止按钮,当用户按下启动时我调用startScan方法

bluetoothAdapter.getBluetoothLeScanner().startScan(getLeScanCallback());

当用户按下停止时,我会调用stopScan,但它似乎什么也没做. BluetoothAdapter会持续扫描新设备.

bluetoothAdapter.getBluetoothLeScanner().stopScan(getLeScanCallback());

这是我的getLeScanCallback方法:

private ScanCallback getLeScanCallback(){

ScanCallback leScanCallback = new ScanCallback() {

@Override

public void onScanResult(int callbackType, ScanResult result) {

super.onScanResult(callbackType, result);

boolean duplicate = false;

for(Device d : devices) {

if(d.getAddress().equals(result.getDevice().getAddress()))

duplicate = true;

}

if(!duplicate) {

Device device = new Device();

device.setName(result.getDevice().getName());

device.setAddress(result.getDevice().getAddress());

device.setStatus(getString(R.string.disconnected));

devices.add(device);

deviceListAdapter.notifyDataSetChanged();

}

}

@Override

public void onBatchScanResults(List results) {

super.onBatchScanResults(results);

}

@Override

public void onScanFailed(int errorCode) {

super.onScanFailed(errorCode);

}

};

return leScanCallback;

}

即使在调用stopScan()之后它也会被调用.我做错了什么,换句话说,如何停止扫描BLE设备?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值