也许代码类型显示了我正在尝试做的事情,所以我将从它开始
private void getLicenseResults() {
if (licensed && didCheck == true) {
Thread timer = new Thread() {
public void run() {
try {
sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Intent openStartingPoint = new Intent(
"***.MAINACTIVITY");
startActivity(openStartingPoint);
finish();
}
}
};
timer.start();
}
if (didCheck == false) {
Toast.makeText(Splash.this, "Checking License, Please Wait",
Toast.LENGTH_LONG).show();
Thread timer = new Thread() {
public void run() {
try {
sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
getLicenseResults();
Log.i("LICENSE", "re-checking");
}
}
};
timer.start();
}
}
我之前没有尝试循环就运行了许可证检查,并且它可以工作,除非检查时间超过几秒钟,它会跳过
if (licensed && didCheck == true)
并且该活动只是站着等待而没有启动我的主要活动(此检查在启动屏幕上)。
所以我希望只有在 didCheck 实际上最终为真之后才调用“if didCheck = true”部分。我确信有一个简单的解决方案,但我是自学成才的,我没有循环或回调的经验(?)。
感谢您的任何帮助!