0

我正在尝试使用 Android 的SensorManager. 所以,我在网上搜索,发现我应该使用

mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);  
myCompassSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

用于磁场传感器,以及

mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
myCompassSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

用于光传感器。但是,我不想连续测量磁场强度和光强度。我只想在按下按钮时获得当前测量值,以便可以将这些值存储在数据库中。我发现的代码和示例使用 进行连续测量registerlistener,但如前所述,这不是我想要的。任何帮助,将不胜感激。

4

1 回答 1

0

您可以做的是在按钮单击事件中注册您的侦听器“正如您在许多示例中提到的那样”,并在获取第一个光或磁值之后,然后分别取消注册光或磁的侦听器。我为磁性做了类似的事情,但使用了一个计数器,在多次测量后取消注册听众。所以,你可以看看:

https://github.com/panosvas/Measurements

于 2015-02-17T10:34:14.143 回答