2012-03-28 61 views
6

我正在使用意圖調用相機並單擊圖片。 目前我在模擬器上,並想強制相機在人像模式下點擊圖片(需要捕捉應用程序工作視頻,因此方向改變看起來很糟糕),但相機屏幕會出現橫向和所有我調用的其他活動而我以前所有的活動都在縱向顯示正確 enter image description here相機中的強制人像模式

:在onActivityResult().

Camera Screen

後點擊畫面中的活動佈局出來,在橫向模式是這樣的。 我嘗試添加

android:screenOrientation="portrait" 
android:configChanges="orientation|keyboardHidden" 

上面顯示的活動,但沒有avail.Though時,我打回家,並在恢復時它肖像正確顯示。

那麼如何強制肖像模式?

+1

'setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);'在您的相機活動onResume。 – 2012-03-28 13:24:45

+0

看看 - http://stackoverflow.com/questions/10259299/force-a-camera-to-always-open-in-portrait-mode-in-android – 2012-04-23 05:49:11

回答

2

沒有一種解決方案可行。佈局也沒有問題。我通過運行更高版本(API10到API15)來實現它。 奇怪!

-2

這shoudl工作:

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
i.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
i.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); 
startActivityForResult(i, CAMERA_CODE); 
+0

我試着用你的代碼,但方向仍然是相同的。能夠影響其他的東西? – Sankalp 2012-03-28 13:52:24

+0

你能用真實的設備試試你的代碼嗎? – Manitoba 2012-03-28 14:01:05

+0

不,我還沒有設備。 :( – Sankalp 2012-03-28 14:05:09

-1

寫在你的manifest.xml,你已經定義了本次活動。

<activity android:name="your_activity name" android:screenOrientation="portrait" /> 

這應該有效。我建議你檢查真實的設備。

將此代碼用於開始預覽的圖像捕獲類。

0

你只需要設置ID爲您的每一個意見。 您不需要在相機中強制使用人像模式。 這樣做,防止活動重新創建視圖和丟失數據