Java android android.view.WindowManager $BadTokenException:无法添加窗口

Java android android.view.WindowManager $BadTokenException:无法添加窗口,第1张

概述我的应用程序是崩溃,在日志中我看到了这一点,我试图找到我如何解决它,但只有我发现这是因为一个上下文和一个人使用YourActivityName.this它工作正常,但我喜欢这个和我的应用程序崩溃了这是日志:FatalException:android.view.WindowManager$BadTokenException:Unabletoaddw

我的应用程序是崩溃,在日志中我看到了这一点,我试图找到我如何解决它,但只有我发现这是因为一个上下文和一个人使用YourActivityname.this它工作正常,但我喜欢这个和我的应用程序崩溃了

这是日志:

Fatal Exception: androID.vIEw.WindowManager$BadTokenException: Unable to add window -- token androID.os.BinderProxy@482fc81 is not valID; is your activity running?       at androID.vIEw.VIEwRootImpl.setVIEw(VIEwRootImpl.java:584)       at androID.vIEw.WindowManagerGlobal.addVIEw(WindowManagerGlobal.java:310)       at androID.vIEw.WindowManagerImpl.addVIEw(WindowManagerImpl.java:86)       at androID.app.Dialog.show(Dialog.java:322)       at androID.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:953)       at pl.eltegps.smokkomunikator.ui.activity.MainActivity.runServices(MainActivity.java:505)       at pl.eltegps.smokkomunikator.ui.activity.MainActivity.onStart(MainActivity.java:316)       at androID.app.Instrumentation.callActivityOnStart(Instrumentation.java:1238)       at androID.app.Activity.performStart(Activity.java:6288)       at androID.app.Activity.performRestart(Activity.java:6334)       at androID.app.ActivityThread.handleSleePing(ActivityThread.java:3688)       at androID.app.ActivityThread.access00(ActivityThread.java:157)       at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1531)       at androID.os.Handler.dispatchMessage(Handler.java:102)       at androID.os.Looper.loop(Looper.java:148)       at androID.app.ActivityThread.main(ActivityThread.java:5527)       at java.lang.reflect.Method.invoke(Method.java)       at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)       at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:620)

这是代码:

 protected voID runServices() {        if (LocationUtil.isLocationEnabled(getBaseContext())) {            if (checkPermission()) {                runLocationService();            }        } else {            AlertDialog.Builder dialog = new AlertDialog.Builder(this);            dialog.setMessage(getResources().getString(R.string.location_settings_Disabled));            dialog.setPositivebutton(getString(R.string.go_to_location_settings), new DialogInterface.OnClickListener() {                @OverrIDe                public voID onClick(DialogInterface paramDialogInterface, int paramInt) {                    App.getBus().post(new PageNavigateEvent(Const.APP_SETTINGS_LOCATION));                }            });            dialog.setNegativebutton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {                @OverrIDe                public voID onClick(DialogInterface paramDialogInterface, int paramInt) {                    finish();                }            });            dialog.show();        }        runTrackerService();        runconfigService();    }

这行导致错误:

dialog.show();

解决方法:

添加当前Activityname.this而不是此.

 AlertDialog.Builder dialog = new AlertDialog.Builder(YourCurrentActivityname.this);
总结

以上是内存溢出为你收集整理的Java android android.view.WindowManager $BadTokenException:无法添加窗口全部内容,希望文章能够帮你解决Java android android.view.WindowManager $BadTokenException:无法添加窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1111336.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存