1
我正在嘗試確定一個用戶在GSM呼叫中已經有多長時間。這可以使用TelephonyManager嗎?謝謝。如何確定用戶在GSM呼叫中的分鐘數?
我正在嘗試確定一個用戶在GSM呼叫中已經有多長時間。這可以使用TelephonyManager嗎?謝謝。如何確定用戶在GSM呼叫中的分鐘數?
您可以在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;
}
};
};
像這樣的東西http://stackoverflow.com/questions/10032542/track-a-phone-call-duration? –