Absicht, gefeuert zu werden, wenn ein Anruf endet?

8

Ich habe eine bereits erstellte Anwendung und möchte eine Funktion hinzufügen, die gestartet werden muss, wenn ein Anruf beendet wird. Wie kann ich das erreichen? Ich dachte, dass ich in meinem manifest so etwas erklären würde

%Vor%

könnte reichen, aber welche Art von Intent muss ich auf den Filter setzen?

In der Dokumentation habe ich nur die Absichten gefunden, die erkennen, wenn ein Anruf gestartet wird.

Ist das, wonach ich suche, möglich?

    
lbedogni 19.03.2010, 14:08
quelle

2 Antworten

16

Sie können den PhoneStateLisenter verwenden, um auf Änderungen im Anrufzustand zu warten.

Sie hören also nach der LISTEN_CALL_STATE Änderung.

Mit der Methode onCallStateChanged .

Wenn der Status von OFFHOOK auf IDLE wechselt, starten Sie Ihre Anwendung

    
Donal Rafferty 19.03.2010, 14:30
quelle
20

Ich habe das mit einem Rundfunkempfänger gemacht. Funktioniert! Code sieht so aus -

AndroidManifest.xml

%Vor%

Das IncomingCallTracker-Code-Snippet sieht wie folgt aus:

%Vor%

Sie können im Bündel nach dem Schlüssel "state" suchen. Wenn der Wert 'IDLE' ist, bedeutet dies, dass der Anruf beendet wurde und Sie können die von Ihnen gewünschte Aktion ausführen.

    
Gopi 30.03.2010 11:39
quelle