6

我正在使用意图调用相机并单击图片。目前我在模拟器上,想强制相机以纵向模式单击图片(需要捕获应用程序工作的视频,所以方向变化看起来很糟糕)但相机屏幕显示为横向以及我调用的所有进一步活动onActivityResult().

相机屏幕

单击图片后,Activity 布局以横向模式出现,如下所示: 在此处输入图像描述

而我之前的所有活动都以纵向正确显示。我尝试添加

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

到上面显示的活动,但无济于事。尽管当我回家并恢复时,它以纵向正确显示。

那么如何强制人像模式呢?

4

5 回答 5

2

这些解决方案都不起作用。布局也没有问题。我通过在更高版本(API10 到 API15)上运行来让它工作。诡异的!!

于 2012-04-03T06:55:25.740 回答
0

我认为这是一个已知问题,请参阅Camera|SetDisplayOrientation

于 2013-03-19T09:49:08.540 回答
0

您只需要为每个视图设置 Id。您无需在相机中强制使用人像模式。这样做,防止活动重新创建视图和丢失数据

于 2017-01-01T17:17:38.033 回答
-1

在您定义此活动的 manifest.xml 中写入。

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

这应该有效。我建议您检查真实设备。

将此代码用于开始预览的图像捕获类。

于 2012-04-01T15:00:13.030 回答
-2

这应该工作:

 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); 
于 2012-03-28T13:33:30.357 回答