Android получает время между onPause и onResume
Я хочу, чтобы мое приложение могло рассчитывать время между onPause и onResume, чтобы знать, где должна быть анимация, когда пользователь возвращается в приложение. Вот что я пытаюсь:
long onPauseTime;
long onResumeTime;
public void onPause() {
super.onPause();
onPauseTime = System.currentTimeMillis();
Log.d(TAG, "onPause: " + onPauseTime);
}
public void onResume() {
super.onResume();
onResumeTime = System.currentTimeMillis();
Log.d(TAG, "onResume: " + onResumeTime);
Log.d(TAG, "Time Gone: " + (onResumeTime-onPauseTime));
}
Но onPauseTime всегда равно 0 в методе onResume. Что я делаю неправильно?
1 ответ
Попробуйте что-то вроде этого, чтобы вы могли сэкономить время и все еще знать, сколько времени прошло, если ваша деятельность разрушается.
public class MyActivity extends Activity{
//Class used to store data
private SharedPreferences preferences;
public void onResume(){
super.onResume();
long end = System.currentTimeMillis();
preferences = PreferenceManager.getDefaultSharedPreferences(this);
long start = preferences.getLong("time",0);
long elapsed = end - start;
}
public void onPause(){
super.onPause();
SharedPreferences.Editor ed = preferences.edit();
ed.putLong("time", System.currentTimeMillis());
ed.commit();
}
}