android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@427d90f0 -- permission denied for this window type
09-20 15:26:51.893: W/dalvikvm(21923): threadid=1: thread exiting with uncaught exception (group=0x41cf6ce0) 09-20 15:26:51.893: W/dalvikvm(21923): threadid=1: uncaught exception occurred 09-20 15:26:51.896: W/System.err(21923): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@427d90f0 -- permission denied for this window type 09-20 15:26:51.921: W/System.err(21923): at android.view.ViewRootImpl.setView(ViewRootImpl.java:774) 09-20 15:26:51.921: W/System.err(21923): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:267) 09-20 15:26:51.921: W/System.err(21923): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:70) 09-20 15:26:51.921: W/System.err(21923): at com.clockrock.freeshare.StartActivity.createFloatView(StartActivity.java:615) 09-20 15:26:51.921: W/System.err(21923): at com.clockrock.freeshare.StartActivity.onCheckedChanged(StartActivity.java:531) 09-20 15:26:51.921: W/System.err(21923): at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174) 09-20 15:26:51.922: W/System.err(21923): at android.widget.RadioGroup.access$600(RadioGroup.java:54) 09-20 15:26:51.922: W/System.err(21923): at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358) 09-20 15:26:51.922: W/System.err(21923): at android.widget.CompoundButton.setChecked(CompoundButton.java:130) 09-20 15:26:51.922: W/System.err(21923): at android.widget.CompoundButton.toggle(CompoundButton.java:87) 09-20 15:26:51.922: W/System.err(21923): at android.widget.RadioButton.toggle(RadioButton.java:76) 09-20 15:26:51.922: W/System.err(21923): at android.widget.CompoundButton.performClick(CompoundButton.java:99) 09-20 15:26:51.922: W/System.err(21923): at android.view.View$PerformClick.run(View.java:19385) 09-20 15:26:51.922: W/System.err(21923): at android.os.Handler.handleCallback(Handler.java:808) 09-20 15:26:51.922: W/System.err(21923): at android.os.Handler.dispatchMessage(Handler.java:103) 09-20 15:26:51.922: W/System.err(21923): at android.os.Looper.loop(Looper.java:193) 09-20 15:26:51.922: W/System.err(21923): at android.app.ActivityThread.main(ActivityThread.java:5348) 09-20 15:26:51.923: W/System.err(21923): at java.lang.reflect.Method.invokeNative(Native Method) 09-20 15:26:51.923: W/System.err(21923): at java.lang.reflect.Method.invoke(Method.java:515) 09-20 15:26:51.924: W/System.err(21923): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 09-20 15:26:51.924: W/System.err(21923): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 09-20 15:26:51.924: W/System.err(21923): at dalvik.system.NativeStart.main(Native Method) 09-20 15:26:51.934: W/dalvikvm(21923): threadid=1: calling UncaughtExceptionHandler 09-20 15:26:51.934: I/dalvikvm(21923): +++ calling Ljava/lang/ThreadGroup;.uncaughtException 09-20 15:26:51.986: E/AndroidRuntime(21923): FATAL EXCEPTION: main 09-20 15:26:51.986: E/AndroidRuntime(21923): Process: com.clockrock.freeshare, PID: 21923 09-20 15:26:51.986: E/AndroidRuntime(21923): android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@427d90f0 -- permission denied for this window type 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.view.ViewRootImpl.setView(ViewRootImpl.java:774) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:267) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:70) 09-20 15:26:51.986: E/AndroidRuntime(21923): at com.clockrock.freeshare.StartActivity.createFloatView(StartActivity.java:615) 09-20 15:26:51.986: E/AndroidRuntime(21923): at com.clockrock.freeshare.StartActivity.onCheckedChanged(StartActivity.java:531) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.RadioGroup.setCheckedId(RadioGroup.java:174) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.RadioGroup.access$600(RadioGroup.java:54) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.RadioGroup$CheckedStateTracker.onCheckedChanged(RadioGroup.java:358) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.CompoundButton.setChecked(CompoundButton.java:130) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.CompoundButton.toggle(CompoundButton.java:87) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.RadioButton.toggle(RadioButton.java:76) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.widget.CompoundButton.performClick(CompoundButton.java:99) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.view.View$PerformClick.run(View.java:19385) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.os.Handler.handleCallback(Handler.java:808) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.os.Handler.dispatchMessage(Handler.java:103) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.os.Looper.loop(Looper.java:193) 09-20 15:26:51.986: E/AndroidRuntime(21923): at android.app.ActivityThread.main(ActivityThread.java:5348) 09-20 15:26:51.986: E/AndroidRuntime(21923): at java.lang.reflect.Method.invokeNative(Native Method) 09-20 15:26:51.986: E/AndroidRuntime(21923): at java.lang.reflect.Method.invoke(Method.java:515) 09-20 15:26:51.986: E/AndroidRuntime(21923): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 09-20 15:26:51.986: E/AndroidRuntime(21923): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 09-20 15:26:51.986: E/AndroidRuntime(21923): at dalvik.system.NativeStart.main(Native Method) 错误原因:加上这个权限,同时我把那个getApplication函数前面加上了this, <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
mWindowManager = (WindowManager)this.getApplication().getSystemService(getApplication().WINDOW_SERVICE);