2011-04-21 18 views
5

Yönlendirme sensöründen bilgi almayla ilgili yardıma ihtiyacım var. Buradaki her bir öğretici/kılavuzda gördüğüm gibi, değerler manipüle edilebildiği bir olaya (onSensorChanged (SensorEvent olayı) geçirilir.Bir olay kullanmadan sensörden tek değer çekin

Sorunum, elektromanyetik/oryantasyon sensörü sürekli çalışıyor (pil ömrü uğruna) .Geri açabilmek, mevcut değeri yakalayabilmek ve kapatabilmek istiyorum Bunu yapmanın herhangi bir yolu var mı?

Bazı aramalar yaptım ve çok iş parçacığı deneyebileceğimi öğrendim, ancak bu konuda tam olarak rahat değilim.

Aradığım şey şudur: Biçimlendiremediğim için özür dilerim dışarı):

private void getOrientationNOW() { 
    m_SensorManager.registerListener(mySensorEventListener, m_MagneticSensor, SensorManager.SENSOR_DELAY_FASTEST); 
    //---->Something here to get the current value from the sensor 
    m_SensorManager.unregisterListener(mySensorEventListener); 
} 

Bu mümkün mü, lütfen bana yardım edin!

Hepinize şimdiden teşekkür ederiz!

cevap

0

Bir sensör için bir dinleyici kaydettiğinizde, sensör değerleri parametrelere göre her değiştiğinde aktivite çağrılır. Bu yüzden değerleri bir kez almak istiyorsanız, bir kere değeri aldıktan sonra bu sensör için dinleyicinin kaydını kaldırın.

+0

Bunu anlıyorum, ancak şu anda içinde bulunduğum yöntemden çıkmadan bu değeri nasıl alabilirim? – RomanP

+0

Mümkün olduğunu düşünmüyorum. UI iş parçacığı üzerinde değerler almaya çalışırsanız, ANR neden olabilir. – Josnidhin

+0

Bu durumda, bunu ayrı bir iş parçacığında nasıl çalıştırırım? – RomanP

İlgili konular