结果的开始活动,以横向模式返回

时间:2013-01-23 11:39:26

标签: android android-activity camera landscape portrait

我通过以下方式启动相机:

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera, PICTURE_RESULT);

它没有任何错误。唯一的问题是当我回来时,布局是在风景模式,尽管我是在纵向。我可以在这里获取图像数据。

短暂后屏幕会自动返回纵向模式,但数据会丢失。

在清单中设置方向无效。

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.camera"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.camera.MainActivity"
        android:configChanges="orientation"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

您是否有关于如何从相机返回到纵向活动的提示?

2 个答案:

答案 0 :(得分:2)

<activity
android:name="path.youractivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="landscape"/>

我对您的Activity方向感到困惑,所以如果您想使用portrait,请将screenOrientation设为人像,并设置为landscape设置风景

尝试这种方式设置固定方向

我已更新我认为这只是因为在活动方向期间屏幕尺寸发生了变化。这比4.0更受影响我认为如此,在方向上添加此screensize然后测试它

答案 1 :(得分:0)

尝试使用此

以纵向模式打开相机
camera.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);