Запрос разрешения наложения не отображается - PullRequest
0 голосов
/ 02 мая 2019
   private fun requestOverlayPermission() {
        Log.e("xxx", "inside requestOverlayPermission")
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            Log.e("xxx", "inside android version check")
            if (!Settings.canDrawOverlays(activity)) {
                Log.e("xxx", "inside canDrawOverlay check")
                val intent = Intent(
                    Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + activity?.packageName)
                )
                Log.e("xxx", "about to call requestOverlayCode")
                activity?.startActivityForResult(intent, REQUEST_OVERLAY_PERMISSION_CODE)
            } else {
                Log.e("xxx", "inside inner else block")
                activity?.startService(
                    Intent(
                        activity,
                        LockScreenService::class.java
                    )
                )
                lockHomeButton()
            }
        } else {
            Log.e("xxx", "inside outer else block")
            activity?.startService(
                Intent(
                    activity,
                    LockScreenService::class.java
                )
            )
            lockHomeButton()
        }
    }

Я работаю над приложением, которое показывает пользователю приглашение разрешения наложения при первой установке.Однако происходит сбой приложения на одном устройстве Google Pixel 3XL под управлением Android Pie.У меня нет физического доступа к устройству и, следовательно, я не могу его отладить.Приложение никогда не показывает подсказку Overlay.

Однако приложение отлично работает на эмуляторе Pixel 3 XL.

Мой манифест:

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Есть какая-то странная причуда, о которой я не знаю?Некоторое понимание того, почему это происходит, было бы здорово.

Спасибо.

...