我有一个问题,希望你能帮助我.我有一个Asynctask,如果我按下mainactivity中的按钮,它会开始上传数据.它工作正常,除非我有一个缓慢的互联网连接.Asynctask启动了progressdialog,如果我连接速度慢,Asynctask会停止,但Progressdialog不会消失,因为它从未到达onPostExecute.
现在我正在尝试实现超时但无法找到方法,因此progressdialog不会这样做.
这是我的代码:
@Override
protected void onPreExecute() {
super.onPreExecute();
time = System.currentTimeMillis();
Log.d(TAG, "PBar: Hat gestartet");
if (MainActivity.MessungStart == true)
{
ConnectionTask.dialog = new ProgressDialog(MainActivity.context);
ConnectionTask.dialog.setMessage("Daten werden hochgeladen...");
dialog.setCanceledOnTouchOutside(false);
ConnectionTask.dialog.show();
}
}
protected Void doInBackground(String... args) {
mUser = MainActivity.username;
mPassword = MainActivity.password;
Log.d(TAG,"Async: User= "+mUser+" Password= "+mPassword);
Timer t = new Timer();
TimerTask tk = new TimerTask() {
@Override
public void run() {
timeout = true;
}
};
t.schedule(tk, 100);
if(timeout == true)
{
Log.d(TAG, "TimeOut = true");
onPostExecute(null); …
Run Code Online (Sandbox Code Playgroud)