我制作了一个应用程序,可以读取接近传感器的值,并根据该数据执行某些操作。我的问题是,即使用户按下主页按钮离开应用程序,操作也会继续执行,从而导致电池耗尽。
我的问题是如何在应用程序存在时关闭接近传感器,或者在按下主页按钮时关闭(未正确退出应用程序)
这是我的第一款Android应用。以下是我在代码中分配接近传感器的方法:
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
proxSensor = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
sm.registerListener(this,proxSensor,SensorManager.SENSOR_DELAY_NORMAL);
由于
修改 对于那些想知道并且不想查找的人,我使用以下方法解决了这个问题:
public void onPause()
{
super.onPause();
sm.unregisterListener(this);
}
public void onResume()
{
super.onResume();
sm.registerListener(this,proxSensor,SensorManager.SENSOR_DELAY_NORMAL);
}
答案 0 :(得分:3)
查看Activity方法onStop()
。只要活动不再可见,就会调用它(退出应用程序或按下主页按钮)。您可以使用此代码来停止接近传感器。
有关详细信息,请参阅此处的Android活动生命周期图:
http://developer.android.com/reference/android/app/Activity.html
答案 1 :(得分:1)
应用不会在Android上退出。最多活动将结束。但要在其他活动处于活动状态时关闭行为,请在活动的暂停状态下将其关闭。