मैं अपने आप को राज्य को संभालना पसंद नहीं करता, इसलिए मैंने एक कक्षा लागू की है जो मेरे लिए यह करती है।
package mypackage;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
// Mine extends AppCompatActivity - your's might need to extend Activity, depending on whether
// you use the support library or not.
public class StateTrackingActivity extends AppCompatActivity {
public enum ActivityState {
CREATED, RESUMED, STARTED, PAUSED, STOPPED, DESTROYED
}
private ActivityState _activityState;
protected ActivityState getActivityState() { return _activityState; }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
_activityState = ActivityState.CREATED;
}
@Override
protected void onResume() {
super.onResume();
_activityState = ActivityState.RESUMED;
}
@Override
protected void onStart() {
super.onStart();
_activityState = ActivityState.STARTED;
}
@Override
protected void onPause() {
super.onPause();
_activityState = ActivityState.PAUSED;
}
@Override
protected void onStop() {
super.onStop();
_activityState = ActivityState.STOPPED;
}
@Override
protected void onDestroy() {
super.onDestroy();
_activityState = ActivityState.DESTROYED;
}
}
फिर अपनी गतिविधि यह एक विस्तार कर सकते हैं और आप getActivityState()
फोन करके राज्य प्राप्त कर सकते हैं।
स्रोत
2016-07-10 09:10:24
[जांचना कि एक Android आवेदन पृष्ठभूमि में चल रहा] (http के संभावित डुप्लिकेट बुलाया गतिविधि पर बढ़ा रहे हैं: // stackoverflow। कॉम/प्रश्न/3667022/चेक-इन-ए-एंड्रॉइड-एप्लिकेशन-इन-द-बैकग्राउंड) – rds