Android:服务启动后的设备位置

时间:2013-08-19 10:55:48

标签: java android xml adk

我在这里遇到另一个Android连接问题。在我的测试应用程序中,我创建了简单的Service实现SensorEventListener来处理Accelerometer。

如果设备没有移动,此服务应该获得当前设备位置并且下次测试。我试着这样做(伪代码):

  onStart() {
    registerListener(listener, accelerometer, SENSOR_DELAY_UI);
    unregisterListener();
  }

Listener是这样定义的类子类:

class DefaultValuesListener implements SensorEventListener {
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
    lastX = event.values[0];
    lastY = event.values[0];
    return;
    }
}

然后我在服务函数onSensorChanged上测试运动。我发现lastXlastY仍然等于零。未设置位置。

我知道我应该在设置默认值时进行测试,如果没有,则在Services onSensorChanged中设置它们,但这是最后一种可能的解决方案。

public void onSensorChanged(SensorEvent event) {
    if (!defaultPosSet) {
        lastX = event.values[0];
        lastY = event.values[0];
    } else {
        // DO test there ...
    }
}

有更好的吗?

修改 由于没有人回复此问题,我将使用此代码:

public void onSensorChanged(SensorEvent event) {
    if (!defaultPosSet) {
        lastX = event.values[0];
        lastY = event.values[0];
    } else {
        // DO test there ...
    }
}

0 个答案:

没有答案