Определить ориентацию телефона - PullRequest
1 голос
/ 25 октября 2019

Я хочу определить ориентацию телефона, чтобы повернуть кадр с камеры, тогда моя оценка позы может правильно вывести это повернутое изображение.

Пример: Кто-то стоит перед моим телефоном, и я положил свой телефонгоризонтально, затем я хочу повернуть это изображение, чтобы быть вертикальным перед выводом. Потому что модель просто может поймать человека в вертикальном положении.

Я пробовал это: var ориентация = resources.configuration.orientation

Но это работает только при включенном автоповороте экрана, и я не надеваюне хочу этогоЯ не мое приложение вращается.

1 Ответ

1 голос
/ 25 октября 2019
         val orientationEventListener = object : OrientationEventListener(activity) {
            override fun onOrientationChanged(orientation: Int) {
                val defaultPortrait = 0
                val upsideDownPortrait = 180
                val leftLandscape = 90
                val rightLandscape = 270
                when {
                    epsilonCheck(orientation, defaultPortrait) -> {} 
                    epsilonCheck(orientation, leftLandscape) -> {} 
                    epsilonCheck(orientation, upsideDownPortrait) -> {} 
                    epsilonCheck(orientation, rightLandscape) -> {} 
                }
            }

            private fun epsilonCheck(a: Int, b: Int, epsilon: Int = 10): Boolean {
                return a > b - epsilon && a < b + epsilon
            }
        }
        orientationEventListener.enable()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...