2010-02-22 77 views
1

我想在通話激活時顯示通知。
我已經完成了第一個簡單的部分。當我的電話意圖開始時,通知開始。
現在到棘手的部分,我該如何告訴我的通知通話已結束?通知問題

回答

1

您需要在TelephonyManager上註冊PhoneStateListener

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 

PhoneStateListener listener = new PhoneStateListener() { 
    @Override 
    public void onCallStateChanged(int state, String incomingNumber) { 
     if (state == TelephonyManager.CALL_STATE_IDLE) { 
      // hangup  
     } 
    } 
}; 

tm.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE); 

要註銷您的PhoneStateListener:

tm.listen(phoneListener, PhoneStateListener.LISTEN_NONE); 
+0

其狀態爲 「掛機狀態」。只能看到STATE_RINGING,STATE_OFFHOOK,STATE_IDLE – f0rz 2010-02-22 13:46:09

+1

你開始監聽STATE_IDLE後,一個呼叫已經啓動,表明呼叫已經結束 – 2010-02-22 14:23:40