计步类软件或者摇一摇统计次数软件或小程序全是通过传感器的回调方法来统计步数的,我们只需要在传感器回调应用实现的接口前修改传递的数据即可。
方法位于frameworks/base/core/java/android/hardware/SystemSensorManager.java类中,有个内部类SensorEventQueue,修改如下:
private static int i = 1;
private static long currentTime = 0;
private static long lastTime = 0;
static final class SensorEventQueue extends BaseEventQueue {
private final SensorEventListener mListener;
private final SparseArray<SensorEvent> mSensorsEvents = new SparseArray<SensorEvent>();
public SensorEventQueue(SensorEventListener listener, Looper looper,
SystemSensorManager manager, String packageName) {
super(looper, manager, OPERATING_MODE_NORMAL, packageName);
mListener = listener;
}
@Override
public void addSensorEvent(Sensor sensor) {
SensorEvent t = new SensorEvent(Sensor.getMaxLengthValuesArray(sensor,
mM