Android 安卓光磁传感器

Android 安卓光磁传感器,android,sensors,android-sensors,sensormanager,Android,Sensors,Android Sensors,Sensormanager,我正在尝试使用Android的传感器管理器获取磁场和光强度的值。 所以,我在网上搜索,发现我应该使用 mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); myCompassSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); 用于磁场传感器,以及 mySensorManager = (SensorManage

我正在尝试使用Android的
传感器管理器
获取磁场和光强度的值。 所以,我在网上搜索,发现我应该使用

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
进行连续测量,但如上所述,这不是我想要的。
任何帮助都将不胜感激。

您可以做的是在按钮单击事件中注册您的侦听器“正如您在许多示例中提到的那样”,并在获取light或magnetic的第一个值后,分别注销light或magnetic的侦听器。我已经做了一些类似的磁,但与计数器,取消注册后,一系列的测量侦听器。所以,你可以看看: