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);

我已经看过其他的反应,发现下面的东西“绘制在应用程序”:

我android.permission.SYSTEM_ALERT_WINDOW在清单

我做Settings.canDrawOverlays(本)检查其自带 回。

位于一切我仍然得到“ - 否认窗式2038权限”的错误。到目前为止,我正在使用TYPE_PHONE并且它可以工作,但它已被弃用,并声称使用TYPE_APPLICATION_OVERLAY。可有一个人跟进以此为TYPE_PHONE答案是不是真正的分辨率但采用的是Android O.弃用

一个“拼补”的解决方案,我在Android 7.1.2

运行Android。 view.WindowManager $ BadTokenException:无法添加窗口 [email protected] - 权限被拒绝窗口 类型2038在 android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3344) at android.app .ActivityThread.-wrap21(ActivityThread.java)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1583) 在android.os.Handler.dispatchMessage(Handler.java:102)在 android.os.Looper.loop(Looper.java:154)在 android.app.ActivityThread.main(ActivityThread.java:6121)在 java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:779)引起 作者:android.view.WindowManager $ BadTokenException:无法添加窗口 [email protected] - 权限被拒绝窗口 类型2038 at android.view.ViewRootImpl.setView(ViewRootImpl .java:703) at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:342) 在android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93) 在 HeadService.TwoViewManager。(TwoViewManager.java:99) 在 HeadService.UIHeadService.onStartCommand(UIHeadService.java:65) 在 机器人。 app.ActivityThread.handleServiceArgs(ActivityThread.java:3327) 在android.app.ActivityThread.-wrap21(ActivityThread.java)在 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1583) 在android.os .Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:154)at android.app.ActivityThread.main(ActivityThread.java:6121)at java.lang.reflect .Method.invoke(Native Met hod)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:889) at com.android.internal.os.ZygoteInit.main(ZygoteInit。java:779)

+0

只是好奇你是否找到了TYPE_APPLICATION_OVERLAY的实际解决方案?根据我的理解,下面的答案都没有真正解决这个问题。他们都建议使用另一种类型。 –

+0

这是因为接受的答案描述你必须考虑到奥利奥之前和之后,即你将使用两种类型。 –

更多推荐