Android: Abfrage des Anrufprotokolls nach der Aktualisierung Sobald ein Anruf beendet wird

8

Wenn ein Anruf beendet wird, wie kann ich sicher sein, dass ich das Anrufprotokoll abfrage, nachdem die Anrufinformationen in die Datenbank geschrieben wurden?

Ich suche nach dem Ende eines Anrufs, indem ich ein BroadcastReceiver mit einem Intent-Filter auf android.intent.action.PHONE_STATE benutze, um nach dem Telefon zu suchen, das in den Leerlauf geht.

Jede Hilfe hierzu wäre willkommen.

Danke

    
gnub 30.08.2011, 00:58
quelle

1 Antwort

8

Hier ist die sehr, sehr gute Antwort.

Siehe Link

Klicken Sie hier

Wenn Sie das obige Beispiel sehen, werden Sie lernen, wie man den Endzustand des Anrufs bekommt und Sie werden auch daran denken, dass nach Beendigung des Anrufs CALL_STATE_IDLE mehr als einmal anruft, also müssen Sie eine statische Variable in einigen wo und Sie nehmen muss diesen Variablenwert überprüfen, bevor Sie im Idealzustand arbeiten.

BEARBEITEN

Android speichert Anrufprotokollinformationen in seiner integrierten Datenbank. Eine bessere Lösung ist, dass wenn Ihr Code IDLE state nach OFFHOOK state aufruft, Sie alle neuen Anruflisten von der eingebauten Datenbank in Ihre Datenbank kopieren können, um Informationen über die Anrufliste zu erhalten

Sie können Anrufprotokollinformationen aus der integrierten Datenbank mit der folgenden Abfrage abrufen

Cursor c = context.getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null, null);

EDIT2

Hier ist ein vollständiges Beispiel

Dies ist die PhoneStateListener-Klasse

%Vor%

Dies ist die Broadcast-Empfängerklasse

%Vor%

Dies ist die Funktion zum Abrufen neuer Anrufprotokolle aus der internen Datenbank

%Vor%

Dies ist eine Manifestdatei

%Vor%     
Dharmendra 30.08.2011 03:49
quelle

Tags und Links