web-dev-qa-db-fra.com

Comment puis-je remplacer type_orientation (est obsolète) pour Android 4.0.3?

Bonjour, je souhaite utiliser le type type_orientation, mais il est déconseillé pour Android 4.0.3. Je l'utilise pour la réalité augmentée. J'ai essayé de trouver sur le net mais sans succès. Mon application fonctionne mais mon texte à l'intérieur reste au même endroit! Voici mon code:

 @Override
    protected void onStart() {      
        super.onStart();
        sensorMngr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        sensorLstr = createListener();
        sensorMngr.registerListener(sensorLstr, sensorMngr.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_UI);
    }

    @Override
    protected void onStop() {       
        super.onStop();
        sensorMngr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        sensorMngr.unregisterListener(sensorLstr, sensorMngr.getDefaultSensor(Sensor.TYPE_ORIENTATION));        
    }

Tout cela est bon, j’avais déjà regardé sur http://developer.Android.com/reference/Android/hardware/Sensor.html , mais je ne peux pas comprendre parfait ...) Merci beaucoup pour votre aide !!!

20
mhsc90

Voici un lien vers un blog avec une solution. Essentiellement, vous arrêtez d'utiliser le capteur d'orientation et utilisez les capteurs de champ magnétique et d'accéléromètre en tandem pour obtenir des fonctionnalités équivalentes. C'est plus de travail mais cela vous permet de continuer à utiliser un rappel pour gérer les changements d'orientation.

16
Nick

Le type de capteur le plus récent pour cette fonctionnalité est Sensor.TYPE_ROTATION_VECTOR, comme indiqué dans cet exemple Google I/O à la diapositive 17:

http://commondatastorage.googleapis.com/io-2013/presentations/104%20-%20When%20Android%20Meets%20Maps%20(Final).pdf

0
Omid Omidi