Telefon-Anruf-Zustand
Woher wissen wir, programmgesteuert, dass der Anruf, den ich mache ist, erhalten in der anderen Seite ?
Ich weiß, dass es einige Telefon in den Zuständen IDLE, OFFHOOK und KLINGELN.
Ich möchte benachrichtigt werden, dass der ausgehende Anruf, den ich mache empfangen wird, getrennt ist von der anderen Seite oder unbeaufsichtigt ist, von der anderen Seite.
Bitte vorschlagen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie eine PhoneStateListener. Mit diesem ist es möglich zu überprüfen, den Status eines Anrufs. Implementieren Sie
onCallStateChanged
. Diese Methode wird jedesmal aufgerufen, wenn der Staat einen Anruf verpasst. Dann können Sie etwas wie das hier tun:Obwohl es nur drei Staaten im android-Telefonie-manager,es ist sehr einfach zu identifizieren ist-Zustand für alle Situationen in einem Telefonat.
So, hier erhalten wir die 3 Ereignisse von android wie KLINGELN,OFFHOOK und im LEERLAUF. Und um die Wartezeit Status eines Anrufs,müssen wir definieren unsere eigenen Staaten wie KLINGELN, OFFHOOK, LEERLAUF, FIRST_CALL_RINGING, SECOND_CALL_RINGING.
Bitte denken Sie in einer Weise, die wir erhalten Veranstaltungen von android und definieren wir unsere auf Abruf Staaten.
Hier ist die Methode zu bekommen, fordern die Staaten auf onReceive - Methode des broadcast-receiver ohne Registrierung phonestatelistener und die Flucht von anderen Komplikationen. Sehen Sie den code.
JS:
Dem, was ich verstehe ist, dass wir nicht unterscheiden zwischen den verschiedenen Staaten innerhalb der OFFHOOK Status, es sei denn, wir haben die internen Paket-Zugang.
Wenn wir über den internen Paket-Zugang ist dann nur wir wissen können, ob der Anruf verbunden ist, tatsächlich empfangene Anrufe oder verpasste Anrufe oder getrennt von der anderen Seite.
verwenden Sie broadcastreceiver mit der folgenden onReceive Umsetzung zu prüfen phonestate änderungen
Und wenn Sie wollen, um zu überprüfen, für den Zwischenzustand, können Sie z.B. Staatliche Kontrolle in form einer ganzen Zahl ....