Android Otázky senzor, když odpojíte USB

hlasů
0

Mám jakési podivné problému s mým HTC Desire.

I v současné době testovat nějaké OpenGL věci pomocí akcelerometru a geomagnetické senzory.

se zdálo, že dva z nich se vrátit někdy (poměrně málo) přesně stejné hodnoty.

Mám to na mé onSensorChanged ()

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        gravity = event.values;
    } 
    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
        geomagnetic = event.values;
    }

a já nevím proč, ale když jsem odpojit USB port (k počítači), je to dostání horší, (já používám thoses hodnoty otáčet kameru kolem objektu, jako je Sky Map, a když jsem odpojit, to vypadalo, že hodnoty jsou správné o 1 jednou za 2 sekundy ~).

a někdy (s USB zapojen a při pohledu na Logcat) to funguje Juste v pořádku a nikdy dostat stejné hodnoty ze dvou čidel.

to není moje zařízení, jiný program, jako je obloha mapě běží v pohodě, ale já nechápu, co dělám špatně. Nikdy jsem popletl na dvě pole gravitaci a geomagnetických, že juste globální a používá se SensorManager.getRotationMatrix (R, gravitace, geomagnetických).

Zajímalo by mě, jestli jsem prostě nechápu hodnoty příliš rychle, ale i když jsem definovat SENSOR_DELAY_UI v posluchači, je to stejný příběh.

Položena 20/11/2010 v 17:02
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Povzdech jsem ....

hmotnost = event.values; poukazují na to. Jednoduchá smyčka, jako je:

for (int i=0 ; i<3 ; i++) {
            gravity[i] = event.values[i];
}

a to je v pořádku (důvod, proč jsem vždycky našel řešení poté, co žádat někde ...)

Odpovězeno 22/11/2010 v 12:04
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more