2015-10-20 37 views

回答

1

您可以在TelephonyManager上設置偵聽器。 試試這個。

long startCallTime = 0; 
private void setTelephonyManagerCallListener(){ 
    TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); 
    tm.listen(phoneCallStateListener, PhoneStateListener.LISTEN_CALL_STATE); 
} 

private PhoneStateListener phoneCallStateListener = new PhoneStateListener(){ 
    public void onCallStateChanged(int state, String incomingNumber) { 
     switch (state){ 
     case TelephonyManager.CALL_STATE_OFFHOOK: 
      startCallTime = System.currentTimeMillis(); 
      break; 
     case TelephonyManager.CALL_STATE_RINGING: 
     case TelephonyManager.CALL_STATE_IDLE: 
      if (startCallTime>0){ 
       long endCallTime = System.currentTimeMillis(); 
       long durationInMillis = endCallTime - startCallTime; 
       startCallTime = 0; 
      } 
      break; 
     } 
    }; 
};