Android13的BluetoothLEScanner在scancallback中没有返回任何扫描结果。
创始人
2024-10-01 00:01:17
0

在Android 13中,由于安全策略的变化,使用BluetoothLEScanner进行扫描需要满足特定条件才能获取扫描结果。具体来说,要使用ACCESS_FINE_LOCATION权限并且将targetSdkVersion设置为31及以上。同时,要实现一个后台位置访问回调来获得扫描结果。以下是示例代码:

首先,在AndroidManifest.xml文件中添加以下权限:


然后,在Activity中实现扫描的代码:

private final BluetoothLeScanner scanner = BluetoothAdapter.getDefaultAdapter().getBluetoothLeScanner();

private final ScanCallback callback = new ScanCallback() {
    @Override
    public void onScanResult(final int callbackType, final ScanResult result) {
        // 处理扫描结果
    }
};

private void startScan() {
    // 检查权限
    if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, PERMISSION_REQUEST_CODE);
        return;
    }
    // 开始扫描
    scanner.startScan(callback);
}

private void stopScan() {
    scanner.stopScan(callback);
}

private class LocationAccessCallback extends BroadcastReceiver {
    @Override
    public void onReceive(final Context context, final Intent intent) {
        if (intent.getAction().equals(LocationManager.MODE_CHANGED_ACTION)) {
            // 检查位置访问权限
            final LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            if (locationManager.isLocationEnabled()) {
                startScan();
            } else {
                stopScan();
            }
        }
    }
}

private void registerLocationAccessCallback() {
    final IntentFilter filter = new IntentFilter(LocationManager.MODE_CHANGED_ACTION);
    registerReceiver(new LocationAccessCallback(), filter);
}

在需要进行扫描的地方调用startScan()方法开始扫描,调用stopScan()方法停止扫描。同时,注册一个后台位置访问回调来获取扫描结果。

相关内容

热门资讯

德州之星外挂!wpk微扑克真的... 德州之星外挂!wpk微扑克真的有辅助(透视)从前是真的有挂(详细辅助黑科技教程)1、不需要AI权限,...
透视实锤!wpk辅助器安装,w... 透视实锤!wpk辅助器安装,wpk俱乐部是做什么的(详细辅助透明挂教程)1、wpk辅助器安装系统规律...
WePoKe透明挂!wpk微扑... WePoKe透明挂!wpk微扑克辅助ai(透视)其实有挂(详细辅助wepoke教程)(1)WePoK...
透视神器!wpk透视辅助靠谱吗... 透视神器!wpk透视辅助靠谱吗,wepoker国外版透视(详细辅助AI教程)1、这是跨平台的wpk透...
wepoke有挂!nzt德州辅... wepoke有挂!nzt德州辅助(透视)一直存在有挂(详细辅助专业教程)1、金币登录送、破产送、升级...
透视插件!wepoker透视脚... 透视插件!wepoker透视脚本网页,wepoker免费辅助器(详细辅助透牌教程)1、金币登录送、破...
微扑克游戏辅助器!红龙扑克模拟... 微扑克游戏辅助器!红龙扑克模拟器(透视)原生真的是有挂(详细辅助技巧教程)(1)微扑克游戏辅助器!红...
透视攻略!wpk辅助插件,we... 透视攻略!wpk辅助插件,wepoker轻量版透视(详细辅助2025新版教程);在进入wpk辅助插件...
wepoke辅助有挂!aa p... 您好,wepoke辅助有挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
透视挂!智星德州菠萝安装,we... 透视挂!智星德州菠萝安装,wepoker辅助软件视频(详细辅助详细教程);1、玩家可以在智星德州菠萝...