Domanda

Voglio bloccare la mia visualizzazione della fotocamera per "Paesaggio"modalità.Quando si fa clic sul pulsante nella mia app, che ora fotocamera del dispositivo per aprire e e che la fotocamera dovrebbe essere bloccato per "Modalità paesaggio".Qualcuno conosce la soluzione di questo problema?

Sto usando questo codice all'interno di "CaptureImageActivity.java" attività.Così, dopo l'esecuzione di questa attività il mio sistema fotocamera si apre.

btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            Intent i=new Intent(android.provider.MediaStore. ACTION_IMAGE_CAPTURE);
            i.putExtra(android.provider.MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);


            startActivityForResult(i,1000);

        }
    });

E voglio bloccare la macchina in vista della "Modalità Orizzontale".E come per ogni soluzione

<activity android:name=".CaptureImageActivity"
    android:screenOrientation="landscape"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Solo "CaptureImageActivity" attività è bloccata "Modalità Orizzontale".

È stato utile?

Soluzione

Aggiungi questo nel tuo attività all'interno del file manifest

android:screenOrientation="portrait"

Altri suggerimenti

vedi questo link per bloccare il vostro orientamento della fotocamera,utilizzare setDisplayOrientation (int degrees)

la documentazione può essere trovato sul seguente link :http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation%28int%29

per ulteriori dettagli, vedere questa risposta :

Come impostare Android orientamento della fotocamera correttamente?

By using setCameraDisplayOrientation=
public static void setCameraDisplayOrientation(Activity activity,
         int cameraId, android.hardware.Camera camera) {
     android.hardware.Camera.CameraInfo info =
             new android.hardware.Camera.CameraInfo();
     android.hardware.Camera.getCameraInfo(cameraId, info);
     int rotation = activity.getWindowManager().getDefaultDisplay()
             .getRotation();
     int degrees = 0;
     switch (rotation) {
         case Surface.ROTATION_0: degrees = 0; break;
         case Surface.ROTATION_90: degrees = 90; break;
         case Surface.ROTATION_180: degrees = 180; break;
         case Surface.ROTATION_270: degrees = 270; break;
     }

     int result;
     if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
         result = (info.orientation + degrees) % 360;
         result = (360 - result) % 360;  // compensate the mirror
     } else {  // back-facing
         result = (info.orientation - degrees + 360) % 360;
     }
     camera.setDisplayOrientation(result);
 }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top