使用下面的代码,当用户点击在移动装置的背面键,其取消的AsyncTask。手柄progressdialog中的AsyncTask
protected class UploadFiles extends AsyncTask<String, String, String> implements OnDismissListener {
private ProgressDialog mDialog;
protected void onPreExecute() {
super.onPreExecute();
mDialog = new ProgressDialog(UploadFiles.this);
mDialog.setMessage(progressMsg);
mDialog.setCancelable(true);
mDialog.setOnDismissListener(this);
mDialog.show();
}
protected String doInBackground(String... params) {
........
........
}
public void onDismiss(DialogInterface dialog) {
this.cancel(true);
}
protected void onCancelled() {
cancel(true);
}
上述实现在用户单击移动设备的BACK按钮时取消AsyncTask。
由于该任务是一项长期耗时的操作,我想提供用户是否要取消操作与否,当用户点击移动设备的BACK按钮,用户警报(警告)。
我没有收到BACK按钮回调onBackPressed()显示进度对话框时&用户单击后退按钮。
这是我面临的三星平板P6200 &不是在Android模拟器的另一个问题:
当显示progressdialog &用户触摸progressdialog区域外的屏幕上,progressdialog驳回。
如何停止解除进度对话框?
任何建议/执行相同的提示会有所帮助。
}
感谢您的评论。我从AsyncTask的onPreExecute()调用mDialog.show()。如何在用户点击BACK按钮时显示警报? – chiranjib 2012-03-17 14:41:33
使用'setOnCalcelListener()' – 2012-03-17 14:47:28