[英]OnStop() is called after onStart()
在我的應用程序中,我正在使用robospice。 因此,在我的BaseActivity中,創建了一個香料管理器:
@Override
protected void onStart() {
super.onStart();
if(!spiceManager.isStarted()) {
spiceManager.start(this);
}
}
@Override
protected void onStop() {
if (spiceManager.isStarted()) {
spiceManager.shouldStop();
}
super.onStop();
}
但是,當我開始新活動時,新活動在父onStop()之前稱為onStart()-因此它將斷開服務。 有什么想法如何解決嗎?
不知道我是否正確理解了您的問題。 但是,如果我確實這樣做,我想您會遇到問題,因為在開始新活動后會調用BaseActivity onStop。
在這種情況下,您可以使用onResume和onPause代替onStart和onStop。
@Override
protected void onResume() {
super.onResume();
if(!spiceManager.isStarted()) {
spiceManager.start(this);
}
}
@Override
protected void onPause() {
super.onPause();
if (spiceManager.isStarted()) {
spiceManager.shouldStop();
}
}
希望這可以幫助。
只需添加一些布爾標志並在開始另一個活動之前進行切換即可。 另外,將onStop方法更改為:
protected void onStop() {
if (spiceManager.isStarted() && !mIsStartedNewActivity) {
spiceManager.shouldStop();
}
super.onStop();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.