2013-02-21 33 views
19

हैलो मैं type_orientation प्रकार का उपयोग करना चाहता हूं लेकिन यह एंड्रॉइड 4.0.3 के लिए बहिष्कृत है। मैं इसे बढ़ी हुई वास्तविकता के लिए उपयोग करता हूं। मैंने नेट पर खोजने की कोशिश की लेकिन सफलता के बिना। मेरा आवेदन काम करता है लेकिन मेरे पाठ के अंदर एक ही स्थान पर रहना! यहाँ मेरी कोड:एंड्रॉइड 4.0.3 के लिए मैं टाइप_ऑरिएंटेशन (बहिष्कृत) को कैसे बदल सकता हूं?

@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));   
    } 

सब कुछ यह अच्छा सिर्फ इस, मैं पहले से ही http://developer.android.com/reference/android/hardware/Sensor.html पर देखा है, लेकिन मैं टी समझ सकते हैं (मैं हूँ फ्रेंच और मेरी अंग्रेजी बहुत सही नहीं है ...) आप के लिए बहुत-बहुत धन्यवाद अपने मदद!!!

उत्तर

16

Here's a link एक समाधान के साथ एक ब्लॉग के लिए। अनिवार्य रूप से, आप ओरिएंटेशन सेंसर का उपयोग करना बंद कर देते हैं और समकक्ष कार्यक्षमता प्राप्त करने के लिए मैग्नेटिक फील्ड सेंसर और एक्सेलेरोमीटर सेंसर का उपयोग करते हैं। यह अधिक काम है लेकिन यह आपको अभिविन्यास परिवर्तनों को संभालने के लिए कॉलबैक का उपयोग जारी रखने की अनुमति देता है।

+0

मैं अपने सैमसंग I9000 पर यह कोशिश की, लेकिन ऐसा प्रतीत नहीं होता काम करने के लिए – Levi

+0

यह अब काम करता है, मैं एजीमुथ को डिग्री में परिवर्तित करना भूल गया। धन्यवाद! – Levi

+0

मुझे लगता है कि सभी डिवाइसों में 'ORIENTATION_SENSOR' सामान्य है! मैग्नेटिक और ACCELEROMETER भी आम है? –