gpt4 book ai didi

java - Android 中的延迟任务

转载 作者:行者123 更新时间:2023-12-01 22:39:52 26 4
gpt4 key购买 nike

我正在使用智能手机从外部套件接收加速度值。我的主要目标是检测跌倒,我使用以下算法来实现此目的:

// Method to be triggered, when data is received over BLE interface
public void onCharacteristicChanged(BluetoothGattCharacteristic c) {
data = parse(c);
}

public T getData() {
return data;
}


@Override
public String getDataString() {
final float[] data = getData();
return TiSensorUtils.coordinatesToString(data);
}

@Override
public float[] parse(final BluetoothGattCharacteristic c) {
Integer x = c.getIntValue(FORMAT_SINT8, 0);
Integer y = c.getIntValue(FORMAT_SINT8, 1);
Integer z = c.getIntValue(FORMAT_SINT8, 2);

double X = x / 64.0;
double Y = y / 64.0;
double Z = -1 * z / 64.0;
double G = Math.sqrt((X * X) + (Y * Y) + (Z * Z));
double L = 1;

if ((G > 1.3 || G < 0.7) && timerStatus.equals("OFF"))
{
// I WANT THE DELAY HERE !!!!!!!!
if ((Z < -0.9 && Z > -1.1 || (Z < 1.1 && Z > 0.9)) && (X < 0.3 && X > -0.3) && (Y < 0.3 && Y > -0.3))
{
cdt = new accCountDownTimer(4000, 1000);
cdt.start();
timerStatus = "ON";
return new float[]{(float)X, (float)Y, (float)Z, (float)G, (float)L};
}
}
return new float[]{(float)X, (float)Y, (float)Z, (float)G};
}

我想要在第一个“if”语句之后有一种任务延迟函数,但由于我不想阻塞线程,因此 Thread.Sleep(2000) 在这种情况下将毫无用处。我已经在 C# 中成功实现了相应的算法,为此我使用了 Task.delay(2000)。 java中有类似的方法吗?

最佳答案

    snoozeTimer.
schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
onSnoozeTimerExpiry();
}
});
}
}, snoozeDuration);

关于java - Android 中的延迟任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26336159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com