안드로이드에서 카메라 촬영 후 화면 전환 차단하기 Java / Groovy

사진을 촬영해서 찍힌 사진을 전송하는 뷰를 만들고 있다.
startActivityForResult로 MediaStore.ACTION_IMAGE_CAPTURE 액션을 실행하는 것.
이때 카메라 앱이 가로모드를 강제할 경우, onActivityResult 가 실행되는 시점에서 앱이 가로모드가 된 뒤 세로모드로 돌아온다. 이때 onCreate가 재실행되면서 불필요한 문제를 야기하므로 이것을 세로모드로 강제하기로 했다.

<activity
            android:name="com.activity.MyActivity"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/title_activity_my"
            android:screenOrientation="portrait" />

문제는 이렇게 설정하고 나니 액티비티 사용중에 가로로 전환되지는 않는데, 정작 원했던 카메라 앱 실행 후에는 반드시 전환되며 onCreate가 실행됬다. 알고보니 sdk13 이후로는 screenSize 까지 포함시켜야 했던 것.

<activity
            android:name="com.activity.MyActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/title_activity_my"
            android:screenOrientation="portrait" />

자세한 내용은 아래 참고
http://developer.android.com/guide/topics/manifest/activity-element.html#config

Tag :

Leave Comments