在我的 android 项目中,我试图调用一个返回字符串结果的 Web 服务。执行后,结果将在 UI 线程中使用 onPostExecution() 更新,结果将决定是移动到下一个活动还是通知用户更正信息。
以上是我从下面的代码中实现的意图:
BackgroundTask bcktask = new BackgroundTask();
bcktask.execute(servicemethodname, urlparameter, bMap);
Thread.sleep(1000);
//do nothing
while (backgroundResult == null)
;
if (backgroundResult == "Sucessfully Registered") {
Intent intent = new Intent(this, VerifyDetail.class);
startActivity(intent);
} else {
Toast.makeText(this, backgroundResult, Toast.LENGTH_LONG)
.show();
}
但问题是,当我尝试运行上面的代码时,它卡在 UI 线程并且后台线程没有运行,或者可能没有得到 CPU 时间来执行。请告诉我如何才能完成这项工作。如果结果未成功注册或屏幕将更改为下一个活动,我需要保持活动并显示一条消息(出了什么问题) 。
谢谢和问候,
苏拉布