小编jan*_*hau的帖子

Android BLE-如何在ScanCallback中调用onScanResult方法?

这是我第一次在Android项目中进行蓝牙低功耗.我正在做的项目基本上是检测所有蓝牙LE设备并连接它们以发现它们的服务.

我想问一下是否有人知道如何在ScanCallback中调用onScanResult(),onBatchScanResults()和onScanFailed()方法?

首先,运行scanLeDevice()方法.

BluetoothLeScanner mLEScanner = mBluetoothAdapter.getBluetoothLeScanner();
ScanSettings settings = new ScanSettings.Builder()
           .setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)
           .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
           .build();
List<ScanFilter> filters = new ArrayList<ScanFilter>();

scanLeDevice(true);
Run Code Online (Sandbox Code Playgroud)

在这种方法中,它将启动扫描.所以我假设扫描结果是使用这些回调传递的.

@TargetApi(21)
private void scanLeDevice(final boolean enable) {
    if (enable) {
        //stops scanning after a pre-defined scan period
        mHandler.postDelayed(new Runnable() {
            @Override
            public void run() {
                    System.out.println("BLE// mLEScanner.stopScan(mScanCallback) ");
                    mLEScanner.stopScan(mScanCallback);
                }
            }
        }, SCAN_PERIOD);
            System.out.println("BLE// mLEScanner.startScan(filters, settings, mScanCallback)");
            mLEScanner.startScan(filters, settings, mScanCallback);

    } else {
            System.out.println("BLE// mLEScanner.stopScan(mScanCallback)");
            mLEScanner.stopScan(mScanCallback);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,在ScanCallback中,我不知道它如何触发onScanResult并使用回调传递扫描结果.在我的测试中(如下所示),既不调用onScanResult()也不调用onBatchScanResults()和onScanFailed().有人可以向我解释这个概念吗?它会帮助我很多!

 /* Scan result for SDK >= 21 */
 private …
Run Code Online (Sandbox Code Playgroud)

android bluetooth-lowenergy android-bluetooth

14
推荐指数
2
解决办法
2万
查看次数

错误 xcodebuild NSFileHandle 无法写入。异常:*** -[_NSStdIOFileHandle writeData:]:生成 Apollo GraphQL API 时管道损坏

救命啊!我只是想让我的管道成功运行TT任何人都可以帮助我~

情况:我正在将 Apollo 客户端集成到我的 iOS 项目中,并遵循 Apollo 官方提供的说明 - https://www.apollographql.com/docs/ios/installation(使用 SPM 方式设置)。在 Xcode 手动编译和测试中,它对我来说一切正常。然而,当我使用命令运行单元测试时,我在生成 Apollo GraphQL API 时遇到了困难。以下是我在运行时收到的错误 xcodebuild test -scheme ${CI_PROJECT_NAME} -project ${CI_PROJECT_NAME}.xcodeproj -destination "${XCODE_APPLICATION_PLATFORM}" -enableCodeCoverage YES| xcpretty -s

错误: xcodebuild[10347:2192409] NSFileHandle couldn't write. Exception: *** -[_NSStdIOFileHandle writeData:]: Broken pipe

注意:当我在 Gitlab 管道中通过命令行运行单元测试时,会发生此错误。使用 Xcode 13.2.1。

在此输入图像描述

xcode xcodebuild graphql apollo-ios cicd

7
推荐指数
1
解决办法
473
查看次数