草庐IT

onSensorChanged

全部标签

android - SensorEvent onChanged 多线程?

我正在检测设备的方向以检查它是否倒置在表面上,然后调用方法。我遇到的问题是,用户可能会无意中将设备的方向瞬间转向该位置并返回正面朝上的位置以纠正他们的错误,但是该方法在他们第一次这样做时仍会被调用。我正在尝试在800毫秒的延迟上向方向添加“双重检查”,以便用户有时间在触发该方法之前更正方向。不幸的是,我无法控制调用onSensorChanged的频率,以便添加一个具有800毫秒延迟的线程,这将仔细检查方向以防止无意的方向更改。我的代码如下,publicSensorEventListeneraccelerometerListener=newSensorEventListener(){@O

java - Android 同步 onSensorChanged?

这是我的问题的后续:Androidthreadrunnableperformance我在思考应用程序的同步方法时遇到了一些困难我轮询传感器并在传感器值发生变化时将其存储到数组中float[]accelerometerMatrix=newfloat[3];float[]accelerometerWorldMatrix=newfloat[3];float[]gyroscopeMatrix=newfloat[3];float[]gravityMatrix=newfloat[3];float[]magneticMatrix=newfloat[3];float[]rotationMatrix=n

java - 在没有 onSensorChanged() 事件的情况下从光传感器获取勒克斯值?

只是想知道,有没有办法在Android手机上获取光传感器的值,而无需等待onSensorChanged()事件发生?为了节省电量,我在获得单个lux值后使用registerListener()和unregisterListener(),但是下次我注册监听器以获取另一个值时,如果该值与以前相同,我的应用程序将坐在那里等待一个事件可能需要一段时间才能发生(通常在光线不足的情况下)。那么,有没有一种方法可以在不等待onSensorChanged()事件的情况下读取勒克斯值?或者我应该有100毫秒的超时,然后使用我记录的最后一个值?谢谢! 最佳答案

java - onSensorChanged 和线程,Android

我正在使用传感器加速度计,我想知道它是否可能以及如何在onSensorChanged中运行两个东西。1.我想将加速度计数据x、y、z始终存储在现场2.如果检测到抖动,运行另一个Activity我的问题是,当检测到shake并运行另一个Activity时,我仍然想在我的字段中存储x、y、z。我该怎么做?@OverridepublicvoidonSensorChanged(intsensor,float[]values){//TODOAuto-generatedmethodstubx=values[0];y=values[1];z=values[2];....ThreadForLoopAt

java - onSensorChanged() 未被调用

今晚我在传感器方面遇到了很多麻烦,但似乎是因为没有调用onSensorChanged()。很抱歉最终出现重复问题,但我没有看到任何解决方案。这是我的代码:publicSensorManagermanager;publicSensorrotation_vector;protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);manager=(SensorManager)getSystemService(SE

android - 如何结合 OpenGL 使用 onSensorChanged 传感器数据

(编辑:我在augmentedrealityframework中添加了最佳工作方法,现在还考虑了陀螺仪,使其再次更加稳定:DroidARframework)我编写了一个TestSuite来了解如何根据您在SensorEventListener.onSensorChanged()中获得的数据计算旋转角度。我真的希望你能完成我的解决方案,以帮助像我一样有同样问题的人。下面是代码,我想你看了就明白了。随意更改它,主要思想是实现几种方法将方向角发送到openglView或任何其他需要它的目标。方法1到4正在工作,它们直接将旋转矩阵发送到OpenGLView。方法6现在也可以了,但我无法解释为什