我正在使用意图并单击图片来调用相机。
目前我在模拟器上,并希望强制相机以纵向模式点击图片(需要捕获应用程序工作的视频,因此方向更改看起来很糟糕)但相机屏幕显示横向和我调用的所有其他活动onActivityResult().
单击图片后,活动布局以横向模式显示,如下所示:
虽然我之前的所有活动都以纵向方式正确显示。 我尝试添加
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden"
上面显示的活动,但无济于事。虽然当我回到家中并在恢复时,它正确地以肖像显示。
那么如何强制进行肖像模式?
答案 0 :(得分:2)
这些解决方案都不起作用。布局也没有任何问题。我通过运行更高版本(API10到API15)来实现它。 怪异!!
答案 1 :(得分:0)
我认为这是一个已知问题,请参阅Camera|SetDisplayOrientation
答案 2 :(得分:0)
您只需为每个视图设置ID。 您无需在相机中强制使用纵向模式。 这样做可以防止活动重新创建视图和丢失数据
答案 3 :(得分:-1)
在您定义此活动的manifest.xml中写入。
<activity android:name="your_activity name" android:screenOrientation="portrait" />
这应该有效。我建议你检查真实设备。
将此代码用于预览开始的图像捕获类。
答案 4 :(得分:-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);