2015-03-19 2 views
0

У нас есть приложение, написанное на C# с xamarin, и все действия принудительно в портретном режиме. Однако это приводит к некоторым проблемам ориентации при записи видео. Метаданные ошибочны, когда видео записывается в альбомном режиме. Я попытался использовать эти методы.Получить ориентацию устройства Android при фиксированном в портретном режиме

Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); 
     Camera.GetCameraInfo(_currentCamera, cameraInfo); 

     var surfaceOrientation = WindowManager.DefaultDisplay.Rotation; 

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

ответ

1

Я считаю, что вы должны быть в состоянии получить ориентацию на основе Resources.Configuration.Orientation, в котором будет указано значение Android.Content.Res.Orientation.Landscape или Android.Content.Res.Orientation.Portrait

http://androidapi.xamarin.com/index.aspx?link=T%3AAndroid.Content.Res.Orientation

http://developer.android.com/reference/android/content/res/Configuration.html#orientation

В противном случае, если вы не можете сохранить отслеживание ориентации таким образом, вам может потребоваться написать OrientationListener на основе следующего сообщения SO:

How to detect my screen orientation in portrait locked screen in android?

+0

Hi Jon Отличный ответ. Однако использование конфигурации не работает, оно все еще дает фиксированную ориентацию. Я уже начал внедрять ориентировщика, поэтому ваш пост обеспечил мне, что это правильный путь :) – Bjarke

Смежные вопросы