2
私はアクティビティを作成し、Androidから基本ステップカウンターを実装しました。ステップカウンターはバックグラウンドでデフォルトで実行されていますか?
すべてのコードはアクティビティの中にあり、サービスなどは作成しませんでした。
私はそれのためのコードを作成しませんでしたが、質問は、アプリはバックグラウンドで実行されますか?
私はいくつかのテストを行いましたが、それはそうだと思われますが、そうであるかどうかはわかりません。
private TextView count;
// is inside my onCreate
count = (TextView) findViewById(R.id.mTextField);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
@Override
protected void onResume() {
super.onResume();
activityRunning = true;
Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
if(countSensor != null) {
sensorManager.registerListener(this, countSensor, SensorManager.SENSOR_DELAY_UI);
} else {
Toast.makeText(this, "Count sensor not available!", Toast.LENGTH_LONG).show();
}
}
@Override
protected void onPause() {
super.onPause();
activityRunning = false;
}
@Override
public void onSensorChanged(SensorEvent event) {
if(activityRunning) {
count.setText(String.valueOf(event.values[0]));
}
}
私はonPause()
方法はactivityRunning = false
を設定することを承知していますが、しかし、私はまだターンオフ/ロック画面、および歩くと手順を取得することができます:
は、ここに私のコードです。
これはちょっと混乱しています。また、あなたが
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
中にセンサーをunrigester
する必要が
[OK]を使用する必要がない登録解除する場合は、そのリスナーの服用は、バックグラウンドで実行されているセンサーを削除しますか? – Daniel
聴くのをやめます。 – Enzokie
私のコードは今では私の携帯電話の大きなボタンを押すと実行され、それが自分のアプリケーションを最小限に抑えます。私のステップを数えたアプリケーションを作成したいのであれば、登録を解除する必要はありませんか? ..それは私の最後の質問であり、私はもうありません:) – Daniel