2014-12-24 28 views
0

我有一個服務管理多個套接字,當所有使用該服務的客戶端(活動,應用程序...)斷開與它的連接時,調用onUnbind(),服務關閉所有套接字。但是,如果應用程序崩潰或強行關閉,onUnbind()永遠不會被調用,並且服務永遠不會關閉這些套接字。我該如何處理這種情況?崩潰的應用程序的Android服務回調

回答

0

,如果你在bindService() 接近的onDestroy所有插座使用BIND_AUTO_CREATE(需要在服務類重寫)

@Override 
    public void onDestroy() { 
     super.onDestroy(); 
     //close here 
    } 
0

你可以參考下面的代碼:

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler() { 
    @Override 
    public void uncaughtException(Thread thread, Throwable ex) { 
    // unbind your service 
    } 
});