2
我創建了一個活動並實現了Android的基本步驟計數器。步驟計數器是否在後臺作爲默認值運行?
所有的代碼都在活動中,我沒有創建任何服務或類似的東西。
所以問題是,應用程序是否在後臺運行,即使我沒有爲它創建代碼?
我做了一些測試,它似乎確實如此,但我不是100%確定如果是這種情況。
這裏是我的代碼:
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
,但是我仍然可以關閉/鎖定的屏幕,並四處走動,並得到步驟。
我覺得有點混亂。
好了,走的是聽衆的將刪除在後臺運行的傳感器中
另外要
unrigester
您的傳感器? – Daniel是的,它會停止收聽。 – Enzokie
所以,現在我的代碼,它會運行,如果我按下我的手機大按鈕,這將最大限度地減少我的應用程序。如果我想創建一個計算我的步驟的應用程序,那麼我將不需要註銷呢? ..這是我的最後一個問題,我沒有更多的:) – Daniel