等待任务同步android studio

hts6caw3  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(215)

我正在创建一个android应用程序来连接两个传感器并收集一些数据。为了收集到传感器,我运行以下代码:

// Establish BT connection
connectBoard(boardWrist);
connectBoard(boardAnkle);

// Retrieve accelerometers and gyroscopes
accelerometerWrist = retrieveAccelerometer(boardWrist);
accelerometerAnkle = retrieveAccelerometer(boardAnkle);
gyroscopeWrist = retrieveGyroscope(boardWrist);
gyroscopeAnkle = retrieveGyroscope(boardAnkle);

功能在哪里 connectBoard(MetaWeaerBoard board) 建立与电路板(与加速计和陀螺仪相关)的蓝牙连接,实现如下:

private void connectBoard(MetaWearBoard board){
    try {
        board.connectWithRetryAsync(3).continueWith(new Continuation<Void, Void>() {
            @Override
            public Void then(Task<Void> task) throws Exception {
                if (task.isFaulted()) {
                    Log.i("IntAt", "Failed to connect to " + " " + board.getMacAddress());
                } else {
                    Log.i("IntAt", "Connected to " + " " + board.getMacAddress());
                }
                return null;
            }
        }).waitForCompletion();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

因为我需要在调用函数之前完全建立蓝牙连接 retrieveAccelerometerretrieveGyroscope 我补充说 .waitForCompletion() 在定义中 connectBoard . 然而,通过这种方式,我发现应用程序并没有并行地连接到电路板,而是顺序地连接到电路板,这意味着它首先连接到 boardWrist ,等待连接成功,然后连接到 boardAnkle . 这不是我想要达到的,对新手有什么建议吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题