Диалоговое окно оповещения вылетает из приложения Android, если я держу его открытым, когда закрываю телефон (активность просачивается) - PullRequest
0 голосов
/ 18 сентября 2018

, поэтому я хочу создать приложение для управления автомобилем Arduino, и у меня появляется диалоговое окно с предупреждением, которое появляется, когда я нажимаю кнопку, пока здесь все работает без проблем. Но здесь у меня есть особая вещь, когда я открываю диалоговое окно с предупреждением, нажимая его кнопку и, скажем, я нажимаю кнопку питания, чтобы закрыть свой телефон, мое приложение вылетает, и я пробовал много вещей, таких как PowerManager и тому подобное, но это не сработало

Итак, вот код для диалогового окна Alert:

void dialogCreater() {

            final AlertDialog.Builder mbuilder = new AlertDialog.Builder(CarActivity.this);
            View mView = getLayoutInflater().inflate(R.layout.settings, null);
            final EditText editForward = mView.findViewById(R.id.editForward);
            final EditText editBackwards = mView.findViewById(R.id.editBackwards);
            final EditText editLeft = mView.findViewById(R.id.editLeft);
            final EditText editRight= mView.findViewById(R.id.editRight);
            final EditText editForwardLeft = mView.findViewById(R.id.editForwardLeft);
            final EditText editForwardRight = mView.findViewById(R.id.editForwardRight);
            final EditText editBackwardsLeft = mView.findViewById(R.id.editBackwardsLeft);
            final EditText editBackwardsRight = mView.findViewById(R.id.editBackwardsRight);
            final EditText editStop = mView.findViewById(R.id.editStop);

            Button mAccept = mView.findViewById(R.id.btnAccept);
            Button mCancel = mView.findViewById(R.id.btnCancel);
            Button mDefaultSettings = mView.findViewById(R.id.btnDefault);
            mbuilder.setView(mView);

            dialog  = mbuilder.create();

            dialog.setCancelable(true);


           // a few buttons for the dialog 


           dialog.show();

Хорошо, это код, и мое приложение вылетает в строке сверху (dialog.show ()), когда диалог открывается, и я закрываю телефон Это ошибка, которую я получаю:

 E/WindowManager: android.view.WindowLeaked: Activity com.example.edi.bluetoothgoogleplay.CarActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{5954400 V.E..... R....... 0,0-832,670} that was originally added here
                         at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363)
                         at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:261)
                         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
                         at android.app.Dialog.show(Dialog.java:298)
                         at com.example.edi.bluetoothgoogleplay.CarActivity.dialogCreater(CarActivity.java:624)
                         at com.example.edi.bluetoothgoogleplay.CarActivity$12.onClick(CarActivity.java:383)
                         at android.view.View.performClick(View.java:4756)
                         at android.view.View$PerformClick.run(View.java:19761)
                         at android.os.Handler.handleCallback(Handler.java:739)
                         at android.os.Handler.dispatchMessage(Handler.java:95)
                         at android.os.Looper.loop(Looper.java:135)
                         at android.app.ActivityThread.main(ActivityThread.java:5264)
                         at java.lang.reflect.Method.invoke(Native Method)
                         at java.lang.reflect.Method.invoke(Method.java:372)
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900)
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:695)

Так что, если кто-нибудь сможет мне помочь, все будет оценено!

...