2015-04-27 53 views
0

我正在製作使用網絡服務發現的應用程序,我們稱之爲「Wi-fi聊天」。在某些時候,我想取消註冊之前創建的服務,以避免創建無數副本。但問題是,當我打電話時;取消註冊使用NSD的應用程序中的服務

mNsdManager.unregisterService(mRegistrationListener); 

我得到「偵聽器未註冊」錯誤。爲了確保我有這個監聽器的STILL SAME對象,我甚至在一個擴展Application類的類中初始化了它,但是我仍然得到這個錯誤。那麼,問題是:如何正確取消註冊服務?預先感謝您。

另外,我查看了「NsdChat」示例應用程序,並且它在同一個點上崩潰,並出現相同的錯誤!

+0

註冊偵聽器的地方 –

回答

0

嗯,我找到了一個解決方案。非常感謝修復NsdChat Google示例的this Wizard

解決的辦法是:在拆卸()方法,內部我們稱之爲unregisterService(RegistrationListener聽衆)我們應該這樣做

public void tearDown() { 
     if (mRegistrationListener != null) { 
      try { 
       mNsdManager.unregisterService(mRegistrationListener); 
      } finally { 
      } 
      mRegistrationListener = null; 
     } 
    } 

雖然我還是不知道如何實際工作的,所以如果您有任何關於這個謎題的想法,請發表回答

相關問題