lunes, 30 de abril de 2012

Realidad Aumentada en Android. Deshabilitar auto rotación

He visto que cuando se rota el móvil, la actividad de la cámara se cae. Por lo que he estado investigando, cuando se rota el móvil se destruye la actividad y se vuelve a crear, por lo que el acceso a la cámara también se cae. La única solución que he encontrado es deshabilitar la autorotación desde el manifest de la aplicación

...
        <activity
            android:name=".RealidadAumentadaActivity"
            android:label="@string/app_name" 
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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


La propiedad dentro del manifest que configChanges, que indica para que eventos de la actividad, esta no se destruye. Además, se indica que la aplicación se lance en modo landscape, mediante la propiedad screenOrientation

Actualización: Para que no aparezca la barra del título de la aplicación, se puede modificar el manifest de la aplicación de nuevo, añadiendo la propiedad android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" a la actividad principal RealidadAumentadaActivity

...
      
        <activity
            android:name=".RealidadAumentadaActivity"
            android:label="@string/app_name" 
            android:screenOrientation="landscape"
            android:configChanges="orientation|keyboardHidden"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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


No hay comentarios:

Publicar un comentario