2017-01-03 6 views
1

Also möchte ich die Zeiten des Handy-Anrufs, die ich aus meiner App stelle. Ich bekomme die Startzeit des Anrufs, sobald der Anruf verbunden wird, aber ich bekomme auch einen Startzeitblock, der ausgeführt wird, wenn Anrufe enden, was meine callStartTime Eigenschaft überschreibt. Dasselbe gilt auch für eingehende Anrufe (wie Sie dem angehängten Konsolenprotokoll-Screenshot entnehmen können). Ich verwende telprompt://, um Anrufe zu tätigen und zur App zurückzukehren. Ist das ein Fehler?CXCallObserver feuert Delegate-Methode jedes Mal, wenn ApplicationDidBecomeActive aufgerufen wird?

call.hasConnected is called while ending cellular call

Antwort

1

Die CXCallObserver Delegatmethode aufgerufen wird, wenn Anrufe geändert, und wird einmal aufgerufen, wenn eine Verbindung hergestellt wird, und dann später, wenn/wenn dieser Anruf beendet. Die hasConnected und hasEnded Eigenschaften sollten interpretiert werden als "hat je verbunden" bzw. "hat je beendet".

Daher empfehle ich Logik, wie dies mit:

if (call.hasConnected) { 
    if (!call.hasEnded) { 
     // record start time (unless start time has already been recorded) 
    } else { 
     // record end time (unless end time has already been recorded) 
    } 
} 
+1

Ja du hast recht. So habe ich es am Ende gemacht (http://imgur.com/a/4Dgza). habe eine andere BOOL-Variable, mit der ich Anrufzustände abmelden kann. – Manjuhere

Verwandte Themen