Android-камера setDisplayOrientation: странное поведение для вкладки галактики

У меня возникла проблема с попыткой просмотра камеры в портретном режиме. Я читал различные статьи об этом, и я решил, что он имеет следующий код:

Display display = ((CaptureActivity)context).getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); if (Integer.parseInt(Build.VERSION.SDK) >= 8) { setDisplayOrientation(camera, 90); }else{ Camera.Parameters parameters = camera.getParameters(); parameters.set("orientation", "portrait"); camera.setParameters(parameters); } 

Где setDisplayOrientation () определяется как:

 protected void setDisplayOrientation(Camera camera, int angle) { Method downPolymorphic; try { downPolymorphic = camera.getClass().getMethod( "setDisplayOrientation", new Class[] { int.class }); if (downPolymorphic != null) downPolymorphic.invoke(camera, new Object[] { angle }); } catch (Exception e1) { } } 

Теперь я пробовал этот код на вкладке Galaxy Tab, и это не удалось. Я решил это (попытка и подход к ошибкам), используя следующий код:

 if (height == 1024 && width == 600) { Camera.Parameters parameters = camera.getParameters(); parameters.set("orientation", "portrait"); parameters.setRotation(90); camera.setParameters(parameters); } 

Теперь мои два вопроса:

1) Почему существует такая проблема, в то время как вкладка Galaxy имеет версию 2.2 и

2) Есть ли лучшее решение этой проблемы?

Большое спасибо за ваше время!

Для установки ориентации дисплея проверьте официальные документы , а не только жесткий код на 90 градусов.

Intereting Posts
Проверьте, включен ли Интернет в Xamarin Android Android – как добавить аннотацию @hide в мой проект Доступные ссылки внутри списка listview Android и maven: проблема с зависимостями maven в apk Как получить обобщенный размер экрана? Android: securityException: «назначение должно быть на внешнем хранилище» Как использовать совместное использование совместного использования изображений для совместного использования изображений в Android? Увеличение скорости эмулятора Android SDK Эмулятор Visual studio (2015) для android не работает – XDE.exe – Код выхода 10 ERROR: папка SWT '' не существует. Пожалуйста, установите ANDROID_SWT .. a получите эту ошибку после обновления SDK Изображения PhoneGap Есть ли библиотека или алгоритм для персидского (Shamsi или Jalali) календаря в Android? AlarmManager внутри BroadcastReceiver, когда BOOT_COMPLETED Android – Когда регистрировать / отменить регистрацию широковещательных ресиверов, созданных в виде активности? Xamarin: Не удалось открыть сеанс для виртуальной машины Nexus 7 (Lollipop)