-1

我的意思是我写了这段代码:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

它在索尼、三星上运行...但在 HTC 手机(野火 s)上出现错误。为什么?

也许这是原因?

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:381)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:226)
at android.view.Window$LocalWindowManager.removeView(Window.java:432)
at android.app.Dialog.dismissDialog(Dialog.java:278)
at android.app.Dialog.access$000(Dialog.java:71)
at android.app.Dialog$1.run(Dialog.java:111)
at android.app.Dialog.dismiss(Dialog.java:268)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:169)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3691)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

2

当您将此标志设置为其窗口时,您的活动似乎不可见。相反,我建议您将以下属性添加到您的任何视图中。

android:keepScreenOn="true"

另一个原因可能是由于方向变化。如果您正在运行AsyncTask并且同时方向发生变化,它实际上会破坏活动并重新创建它。现在,如果 AsyncTask 完成它的工作,它会尝试更新不再可用的活动并崩溃。

于 2012-04-19T19:02:57.497 回答