我们有一个用c#用xamarin编写的应用程序,所有活动都以纵向模式强制执行。但是,这会在录制视频时出现一些方向问题。以横向模式录制视频时,元数据错误。我尝试使用这些方法。
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.GetCameraInfo(_currentCamera, cameraInfo);
var surfaceOrientation = WindowManager.DefaultDisplay.Rotation;
然而,无论设备如何转动,它们都提供固定的角度。即使在纵向模式下修复了活动,我如何才能获得实际的设备方向?
答案 0 :(得分: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
否则,如果您无法以这种方式跟踪方向,则可能需要根据以下SO帖子编写OrientationListener:
How to detect my screen orientation in portrait locked screen in android?