> .... = event.values.clone(); Note that this creates new objects constantly that have to be garbage collected later. Depending on the kind of application, it may be better to just copy the values into a persisting array.
Peli www.openintents.org On Aug 21, 4:06 am, mscwd01 <mscw...@gmail.com> wrote: > Heres my code, which works: > > public void onSensorChanged(SensorEvent event) { > > Sensor sensor = event.sensor; > int type = sensor.getType(); > switch (type) { > case Sensor.TYPE_MAGNETIC_FIELD: > mags = event.values.clone(); > isReady = true; > break; > case Sensor.TYPE_ACCELEROMETER: > accels = event.values.clone(); > break; > case Sensor.TYPE_ORIENTATION: > orients = event.values.clone(); > break; > } > > if (mags != null && accels != null && isReady) { > isReady = false; > > SensorManager.getRotationMatrix(R, I, accels, mags); > SensorManager.remapCoordinateSystem(R, > SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, outR); > SensorManager.getOrientation(outR, values); > > azimuth = > getAzimuth(-convert.radToDeg(values[0])); > pitch= convert.radToDeg(values[1]); > roll = -convert.radToDeg(values[2]); > > } > > } > > On Aug 21, 2:39 am, Mike Collins <mike.d.coll...@gmail.com> wrote: > > > I have a sensor event handler that gets fired and I have no problem > > getting and processing acceleration readings. However this code > > always fails. > > > if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) > > { > > float[] geomagnetic = new float[3]; > > geomagnetic[0] = geomagnetic[1] = geomagnetic[2] = > > 0; > > > float[] r = new float[9]; > > float[] I = new float[9]; > > boolean b = SensorManager.getRotationMatrix(r, I, > > event.values.clone > > (), event.values.clone()); > > if ( ! b) > > { > > Log.e(LOG_TAG, "getRotationMatrix failed"); > > return; > > } > > ... > > > tia, > > mike --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---