Спасибо за ответ! Однако, как я уже говорил в этом посте, я уже использую это в качестве обходного пути, но этот TYPE_PHONE устарел в Android O, и я хочу, чтобы он в конечном итоге работал с Android O.

аюсь создать представление, которое выше других приложений:

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: невозможно добавить окно android.view.ViewRootImpl$W@1f47e89 - в типе окна 2038 не разрешено разрешение для android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3344) в android.app.ActivityThread .-wrap21 (ActivityThread.java) в 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 (собственный метод) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit .java: 889) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:779) Причина: android.view.WindowManager $ BadTokenException: невозможно добавить окно android.view.ViewRootImpl$W@1f47e89 - разрешение отклонено для типа окна 2038 в android.view.ViewRootImpl.setView (ViewRootImpl.java:703) в 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) ActivityThread.Thread. Java: 3327) на android.app.ActivityThread.-wrap21 (ActivityThread.java) на 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 (собственный метод) на com.android.internal .os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:889) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:779)

Ответы на вопрос(5)

Ваш ответ на вопрос