我正在使用相机,我的应用程序在纵向模式下通过
camera.setDisplayOrientation(90);
当活动进入后台并返回时,显示方向又回到 0,也就是横向,但是当我再次尝试 setDisplayOrientation(90) 时,它失败并抛出错误(可能是因为它是最终的)。
如何保持相机处于人像模式,即 90 度模式?
另外我必须支持 2.2 及更高版本,所以我只能使用 API 8
我正在使用相机,我的应用程序在纵向模式下通过
camera.setDisplayOrientation(90);
当活动进入后台并返回时,显示方向又回到 0,也就是横向,但是当我再次尝试 setDisplayOrientation(90) 时,它失败并抛出错误(可能是因为它是最终的)。
如何保持相机处于人像模式,即 90 度模式?
另外我必须支持 2.2 及更高版本,所以我只能使用 API 8
根据 Android API 文档,在 API 级别 14 之前,您不能在预览处于活动状态时设置方向: setDisplayOrientation() 参考。
我猜你需要打电话stopPreview()
,设置所需的方向,然后打电话startPreview()
。
如果您只希望它是纵向的,请使用 Manifest.xml 文件将活动声明为仅在活动标记中放置的纵向:
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation"