活动com.act.hyd.app.EmtyActivity泄露了最初添加到此处的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@416e8bb8

时间:2015-09-22 11:04:01

标签: android

我收到了错误。

Activity com.act.hyd.app.EmtyActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@416e8bb8 that was originally added here

在启动画面中,我将检查应用程序的版本代码。如果它不合适,则显示AlertDialog。但是我得到了上面的错误。如何解决它。

public void incorrectMessages(){


           AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                    context);

                // set title
                alertDialogBuilder.setTitle("Your Title");

                // set dialog message
                alertDialogBuilder
                    .setMessage("Click yes to exit!")
                    .setCancelable(false)
                    .setPositiveButton("Yes",new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                            // if this button is clicked, close
                            // current activity
                            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
                            startActivity(browserIntent);
                        }
                      })
                    .setNegativeButton("No",new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog,int id) {
                            // if this button is clicked, just close
                            // the dialog box and do nothing
                            dialog.dismiss();
                        }
                    });

                    // create alert dialog
                    AlertDialog alertDialog = alertDialogBuilder.create();

                    // show it
                    alertDialog.show();




                 Toast.makeText(getApplicationContext(), "Dear ACT Customer your App looks old version .Please upgrade from Playstore ", Toast.LENGTH_LONG).show();
                 onRestart();
             }

3 个答案:

答案 0 :(得分:1)

您需要致电

alertDialogBuilder.dismiss()

在完成Activty之前。

答案 1 :(得分:0)

setNegativeButton函数您已调用dialog.dismiss();,但未在setPositiveButton上解除对话框,因此您还需要在setPositiveButton函数中关闭对话框。< / p>

您也可以使用onDestroy()。在您的活动中写下以下功能

public void onDestroy() {
super.onDestroy();

  if(dialog !=null)
  {
    dialog.dismiss();
  }
}

答案 2 :(得分:0)

在您转到新活动之前,您需要关闭当前活动的对话框。

infrastructure/chef-repo/cookbooks

否则对话窗口将被泄露。

祝你好运