我在Activity example.activity.SetupManage中。经过一些操作后,我会调用一个显示通知消息的对话框。但即使我没有点击OK按钮,所有后续的代码都会执行,所以当我杀死所有Activity时,对话框会产生问题。我能做些什么来解决我的问题?在Android应用程序中查杀活动后的对话框错误
AlertDialog myAlertDialog;
public void onDestroy(Bundle savedInstanceState){
if(myAlertDialog.isShowing())
myAlertDialog.dismiss();
}
// *** some operations *** //
try{
myAlertDialog = new AlertDialog.Builder(this)
.setTitle("Notification")
.setMessage("Operation Failed")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
catch(Exception ex){
}
try{
Intent myIntent = new Intent();
myIntent.setClassName("example.activity", "example.activity.MainActivity");
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(myIntent);
}catch(Exception ex){
}
错误消息:
10-16 15:33:11.120: E/WindowManager(4360): Activity example.activity.SetupManage has leaked window [email protected] that was originally added here
10-16 15:33:11.120: E/WindowManager(4360): at example.activity.SetupManage.CleanDatabase(SetupManage.java:61)
10-16 15:33:11.120: E/WindowManager(4360): at android.view.ViewRoot.<init>(ViewRoot.java:288)
10-16 15:33:11.120: E/WindowManager(4360): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:249)
10-16 15:33:11.120: E/WindowManager(4360): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:193)
10-16 15:33:11.120: E/WindowManager(4360): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:118)
10-16 15:33:11.120: E/WindowManager(4360): at android.view.Window$LocalWindowManager.addView(Window.java:532)
10-16 15:33:11.120: E/WindowManager(4360): at android.app.Dialog.show(Dialog.java:269)
10-16 15:33:11.120: E/WindowManager(4360): at android.app.AlertDialog$Builder.show(AlertDialog.java:907)
10-16 15:33:11.120: E/WindowManager(4360): at example.activity.SetupManage.CleanDatabase(SetupManage.java:61)
您显示一个对话框然后更改活动,您需要首先关闭对话框 – Blundell