也许代码类型显示了我正在尝试做的事情,所以我将从那个
开始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”部分。我确信这是一个简单的解决方案,但我是自学成才,我没有循环或回调的经验(?)。
感谢您的帮助!
答案 0 :(得分:0)
在调用getLicenseResults之前,您没有在第二个if语句中将didCheck设置为true