I am trying to create a view that is above other applications:
WindowManager.LayoutParams paramsDirectorView = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT);
I looked through the other answers and found the following things for "drawing applications":
- I have android.permission.SYSTEM_ALERT_WINDOW in the manifest
- I do Settings.canDrawOverlays (this), checking which comes back true.
- I have done everything that is allowed here for the window type
I am still getting the "Failure Permission for Window Type 2038" error. I'm currently using TYPE_PHONE and it works, but it is deprecated and says use TYPE_APPLICATION_OVERLAY. Can someone keep an eye on this, as the answer of TYPE_PHONE is not really a resolution, but a “fix” solution that is deprecated in Android O.
I am running on Android 7.1.2
android.view.WindowManager $ BadTokenException: cannot add window android.view.ViewRootImpl$W@1f47e89 - permission is denied for window type 2038 on android.app.ActivityThread.handleServiceArgs (ActivityThread.java data 344) in android.app.ActivityThread.-wrap21 (ActivityThread.java ) in android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1583) on android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:154) at android .app.ActivityThread.main (ActivityThread.java:6121) in java.lang.reflect.Method.invoke (native method) in com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:889) at com .android.internal.os.ZygoteInit.main (ZygoteInit.java:779) Caused by: android.view.WindowManager $ BadTokenException: cannot add window android.view.ViewRootImpl$W@1f47e89 - permission denied for window type 2038 in android.view.Vi ewRootImpl.setView (ViewRootImpl.java:703) in android.view.WindowManagerGlobal.addView (WindowManagerGlobal.javahaps42) in android.view.WindowManagerImpl.addView (WindowManagerImpl.java:93) in HeadService.TwoViewManager. (TwoViewManager.java:99) in HeadService.UIHeadService.onStartCommand (UIHeadService.java:65) in android.app.ActivityThread.handleServiceArgs (ActivityThread.javahaps327) in android.app.ActivityThread.-wrap21 (ActivityThread.java) android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1583) on android.os.Handler.dispatchMessage (Handler.java:102) at android.os.Looper.loop (Looper.java:154) at android.app .ActivityThread.main (ActivityThread.java:6121) in java.lang.reflect.Method.invoke (native method) in com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:889) at com.android .internal.os.ZygoteInit.main (ZygoteInit.java:779)
source share