2012-09-22 33 views

回答

0

我用onPause()和onResume(),但我必須在每個活動中處理它。

創建一個 「基地」 Activity ...

public class MyBaseActivity extends Activity { 

    // Put any methods you need here that are common to all of your Activities 

} 

然後簡單地擴展你的基地Activity爲您創建的所有Activity類的......

這樣所有你的Activities會自動處理你需要做的事情。

3

使用布爾標誌。

boolean movingInApp = false; 
.... 
movingInApp = true; 
Intent intent... 
..... 
public void onPause() { 
    if(!movingInApp) { 
     //start service 
    } 
} 

public void onResume() { 
    movingInApp = false; 
    //Stop service 
} 

通過推出任何意圖等之前的movingInApp的值設置爲true,可以防止您的應用程序無法啓動該服務。記得稍後在onResume()方法中再次將其設置爲false。如果系統使您的應用程序轉到後臺,這將是錯誤的,並且您的服務將開始。

相關問題