我有一个带有AsyncTask的Android应用程序,可以从数据库进行一些同步。当任务正在执行时,从任务开始的ProgressDialog会在每次同步的数据安全后显示和更新。整个任务大约需要30-40分钟,并且每次都运行良好和干净。但是大约20分钟后,ProgressDialog由于某种原因消失了,而任务继续进行。 我不知道为什么会发生这种情况......即使你按下主页按钮它仍然存在。是否有某种技巧可以解决这个问题?
以下是我的相关代码:
protected void onPreExecute() {
dialog = new ProgressDialog(context);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
dialog.setTitle("Synchronisiere Datenbank...");
this.dialog.setMessage("Datenbank wird synchronisiert. Dieser Vorgang kann einige Minuten dauern");
dialog.setView(bar);
this.dialog.show();
}
protected void onPostExecute(String result) {
Log.d("", "" + result);
System.out.println("FEDDIG");
try {
if (this.dialog != null && this.dialog.isShowing()) {
this.dialog.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}
if (!uploadSuccessful) {
showErrorDialog();
}
}