0

近接センサーから値を読み取り、そのデータに基づいて特定のアクションを実行するアプリを作成しました。私の問題は、ユーザーがホームボタンを押してアプリを離れてもアクションが実行され続けるため、バッテリーが消耗することです.

私の質問は、アプリが存在するか、ホームボタンが押されたときに(アプリが適切に終了せずに)単純になったら、近接センサーをオフにする方法です。

これは私の最初の 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);
}
4

2 に答える 2

3

Activity メソッドを調べonStop()ます。アクティビティが表示されなくなるたびに呼び出されます (アプリが終了するか、ホーム ボタンが押されます)。近接センサーを停止するコードを配置するのは、このメソッドです。

詳細については、こちらの Android アクティビティ ライフサイクル図を参照してください。

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

于 2014-05-26T00:55:41.900 に答える