2011-07-09 45 views
0
public class example extends Activity { 
@Override  
public void onCreate(Bundle savedInstanceState) {  

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main);   

    PhoneStateListener myListener = new PhoneStateListener() { 
     @Override 
     public void onServiceStateChanged (ServiceState serviceState) { 

      // Some stuff 

     } 
    }; 

    TelephonyManager mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
    mTelephonyManager.listen(myListener, PhoneStateListener.LISTEN_SERVICE_STATE); 

} 

這是代碼。 問題是每次活動開始時Listener都會執行,而不僅僅是事件偵聽。 請讓我知道我該如何解決這個問題。每次活動啓動時,監聽器都會執行

回答

0

也許網絡服務狀態確實在變化很頻繁。這可能會讓活動啓動時(即偵聽器正在連接時)立即調用偵聽器。

+0

感謝sparkymat,不,我嘗試使用模擬器,這不是肯定的情況。 – Gaurang

+0

不要依賴模擬器,尤其是對於網絡服務狀態等電話行爲。總是喜歡在實際設備上進行測試。 – sparkymat

+0

雅,我也在實際設備上測試過。每次打開應用程序時,監聽器都會執行。 – Gaurang

相關問題