0

次の方法でカメラを起動しています:

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>

ポートレートでカメラからメインアクティビティに戻る方法について何かヒントはありますか?

4

2 に答える 2

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

私はあなたの向きについて混乱しているActivityので、あなたが行きたいのであれば、portrait向きに設定し、横向きに設定してくださいscreenOrientationlandscape

この方法で固定方向を設定してみてください

アクティビティのオリエンテーション中に画面サイズが変更されたためだと思います。これは 4.0 からより影響を受けたと思います。これscreensizeをオリエンテーションに追加してからテストします。

于 2013-01-23T11:45:10.783 に答える
0

これでポートレートモードでカメラを開いてみてください

camera.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
于 2013-01-23T11:50:52.213 に答える