关闭应用程序后关闭接近传感器 - Android

时间:2014-05-26 00:40:40

标签: java android android-sensors proximitysensor auto-close

我制作了一个应用程序,可以读取接近传感器的值,并根据该数据执行某些操作。我的问题是,即使用户按下主页按钮离开应用程序,操作也会继续执行,从而导致电池耗尽。

我的问题是如何在应用程序存在时关闭接近传感器,或者在按下主页按钮时关闭(未正确退出应用程序)

这是我的第一款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);
}

2 个答案:

答案 0 :(得分:3)

查看Activity方法onStop()。只要活动不再可见,就会调用它(退出应用程序或按下主页按钮)。您可以使用此代码来停止接近传感器。

有关详细信息,请参阅此处的Android活动生命周期图:

http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:1)

应用不会在Android上退出。最多活动将结束。但要在其他活动处于活动状态时关闭行为,请在活动的暂停状态下将其关闭。