所以我使用这段代码来获取加速度计数据。当我在 DDMS 模式下检查打印语句正在打印的内容时,我注意到当手机不动时没有打印任何内容。 IE。它在桌上。我认为原因是当手机不移动时不会调用 onSensorChanged ,然后当手机再次开始移动时调用 onSensorChanged 。如果我想无论手机是否移动都捕获数据,我应该使用其他功能吗?有其他选择吗?或者有什么解决办法吗?任何帮助表示赞赏。
Thanks!
public void onSensorChanged(SensorEvent event) {
StringBuffer buff = new StringBuffer();
buff.append(String.valueOf(event.timestamp));
buff.append(comma);
buff.append(String.valueOf(event.values[0]));
buff.append(comma);
buff.append(String.valueOf(event.values[1]));
buff.append(comma);
buff.append(String.valueOf(event.values[2]));
mCurrentFile.println(buff.toString());
mCurrentFile.write(buff.toString()+ '\n');
System.out.println( "**" + buff.toString());
}
您可以让一个线程监听传感器的变化(即,onSensorChanged()
它将把数据写入全局变量)和另一个运行计时器的线程(看看postDelayed
, http://developer.android.com/reference/android/os/Handler.html http://developer.android.com/reference/android/os/Handler.html)将在设定的时间读取它。如果没有变化,那么它将再次读取相同的数据。简单、干净且对电池有益。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)