3 回答

TA貢獻1811條經驗 獲得超5個贊
onPause()
onResume()
onWindowFocusChanged
onStop
.

TA貢獻1809條經驗 獲得超8個贊
public class MyApplication extends Application { private Timer mActivityTransitionTimer; private TimerTask mActivityTransitionTimerTask; public boolean wasInBackground; private final long MAX_ACTIVITY_TRANSITION_TIME_MS = 2000; ...
public void startActivityTransitionTimer() { this.mActivityTransitionTimer = new Timer(); this.mActivityTransitionTimerTask = new TimerTask() { public void run() { MyApplication.this.wasInBackground = true; } }; this.mActivityTransitionTimer.schedule(mActivityTransitionTimerTask, MAX_ACTIVITY_TRANSITION_TIME_MS);}public void stopActivityTransitionTimer() { if (this.mActivityTransitionTimerTask != null) { this.mActivityTransitionTimerTask.cancel(); } if (this.mActivityTransitionTimer != null) { this.mActivityTransitionTimer.cancel(); } this.wasInBackground = false;}
@Overridepublic void onResume(){ super.onResume(); MyApplication myApp = (MyApplication)this.getApplication(); if (myApp.wasInBackground) { //Do specific came-here-from-background code } myApp.stopActivityTransitionTimer();}@Overridepublic void onPause(){ super.onPause(); ((MyApplication)this.getApplication()).startActivityTransitionTimer();}
- 3 回答
- 0 關注
- 1603 瀏覽
添加回答
舉報