我希望在发送邮件时显示AlertDialog。但我有这个例外。 WindowManager$BadTokenException
这是什么意思?
pDialog = ProgressDialog.show(MainActivity.sContext , "", "Sending Mail...", true);
RetreiveFeedTask task = new RetreiveFeedTask();
答案 0 :(得分:1)
据我所知,您的问题是您尝试在不同的线程上更新UI,这是不可能的。 RetreiveFeedTask
可能正在另一个线程上执行。
您必须运行代码才能在UI线程上显示alertdialog。您可以通过在自己的代码中粘贴以下代码并在方法run()
的正文中添加代码来实现此目的。
activity.runOnUiThread(new Runnable() {
public void run() {
}
}
答案 1 :(得分:0)
这是因为您的活动已关闭,而您正在尝试使用ProgressDialog
您可以使用onPause
方法
例如
protected void onPause() {
super.onPause();
if ((pDialog != null) && pDialog.isShowing())
pDialog.dismiss();
pDialog = null;
}
答案 2 :(得分:0)