Android.view.WindowManager $ BadTokenException:

Posted

技术标签:

【中文标题】Android.view.WindowManager $ BadTokenException:【英文标题】: 【发布时间】:2017-11-28 18:14:26 【问题描述】:

我正在开发一个屏幕锁定应用程序 它在某些设备上运行良好,但在某些情况下我会收到此错误

java.lang.RuntimeException: 在 android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3209) 在 android.app.ActivityThread.access$2200(ActivityThread.java:150) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1505) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:168) 在 android.app.ActivityThread.main(ActivityThread.java:5845) 在 java.lang.reflect.Method.invoke(Native Method:0) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) 引起:android.view.WindowManager$BadTokenException: 在 android.view.ViewRootImpl.setView(ViewRootImpl.java:609) 在 android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310) 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) 在 com.ingilizceogren.sloth.KilitUygulamasi.KilitUygulamasiKontrol.setLockScreenToWindow(KilitUygulamasiKontrol.java:150) 在 com.ingilizceogren.sloth.KilitUygulamasi.KilitUygulamasiKontrol.lock(KilitUygulamasiKontrol.java:90) 在 com.ingilizceogren.sloth.KilitUygulamasi.KilitUygulamasiServisi.onStart(KilitUygulamasiServisi.java:63) 在 android.app.Service.onStartCommand(Service.java:459) 在 android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3170)

【问题讨论】:

【参考方案1】:

确保您的活动正在运行,使用

if(mActivity != null && !mActivity.isFinishing())

检查您何时致电com.ingilizceogren.sloth.KilitUygulamasi.KilitUygulamasiKontrol.setLockScreenToWindow()

【讨论】:

以上是关于Android.view.WindowManager $ BadTokenException:的主要内容,如果未能解决你的问题,请参考以下文章