How to set android:screenOrientation=“portrait” for Camera

后端 未结 4 1335
长发绾君心
长发绾君心 2021-01-27 10:35

I am using Samsung Galaxy Note to run a phonegap application. When I take picture, I can see that screen rotates just before entering camera. How can I disable this?

I h

相关标签:
4条回答
  • 2021-01-27 11:01

    How do you take picture? If you are sending intent to fire up camera application you lose control about orientation changes. Also note, that before going to sleep and locking screen launcher forces your application into portrait with an butt-kick regardles of the settings or overriding methods. Most probably you can not and behaviour on other devices could be different.

    0 讨论(0)
  • 2021-01-27 11:16

    Use android:configChanges="orientation|keyboardHidden" where you are setting screen as portrait.

    0 讨论(0)
  • 2021-01-27 11:20

    There are 2 things here that should be taken into account. First, this

    android:screenOrientation="landscape"
    

    has no effect if in the java code there is something like this:

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    

    Then, there is this other method that could be bothering you:

    mCamera.setDisplayOrientation(90);
    

    This would rotate your camera preview.

    Hope this helps!

    0 讨论(0)
  • 2021-01-27 11:24

    You need to add the permission on the manifest:

    <uses-feature android:name="android.hardware.screen.portrait" />

    Doc android of balise uses-feature

    For example, if your app requires portrait orientation, you should declare <uses-feature android:name="android.hardware.screen.portrait"/> so that only devices that support portrait orientation (whether always or by user choice) can install your app. If your application supports both orientations, then you don't need to declare either.

    0 讨论(0)
提交回复
热议问题