Wie man Verpassten Anruf & SMS Graf
Möchte ich, um die Anzahl der verpassten Anrufe und ungelesene Nachrichten in meiner Anwendung. und ich möchte Sie zum öffnen der entsprechenden Anwendung, wenn Benutzer klicken Sie auf zu zählen.
Nun größte problem ist, wie man die zählen?
Suchte ich online aber nicht finden konnte, keine Lösung.
Vielen Dank im Voraus.
InformationsquelleAutor Jay Mayu | 2011-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://developer.android.com/reference/android/provider/CallLog.Calls.html
Werfen Sie einen Blick auf diese
CallLog
Klasse. Alles, was Sie benötigen, ist eine Abfrage der Telefon für alle Anrufe extrahieren Sie dann eine verpasst (oder dies tun, wenn Sie Abfragen, das Handy, in der Auswahl der Argumente). Das gleiche gilt für die Nachrichten. SMS sind gespeichert in der Content-Anbieter unter"content://sms/"
Dann bekommen nur die Anzahl der Zeilen im Cursor, Rückkehr von der Abfrage. 🙂
Ich hoffe, das hilft.
Edit: Für Anrufe in Abwesenheit:
In der where-Klausel legen Sie die Bedingung für die Auswahl der Daten. In unserem Fall müssen wir alles, was dem Typ entspricht
CallLog.Calls.MISSED_TYPE
. Wir wählen Sie "Projekt" den Namen des Anrufers und seine Telefonnummer, natürlich können Sie hier mehr Informationen abgefragt werden wie z.B. die Art der Zahl, wie mobile, home, Arbeit.Der Ausdruck ist äquivalent zu der SQL-Abfrage, so etwas wie:
SELECT CACHED_NAME, CACHED_NUMBER_LABEL, TYPE FROM CONTENT_URI WHERE TYPE=MISSED_TYPE
Diese Berechtigungen benötigt werden, Hinzugefügt, um die Manifest -
Zur Abfrage von SMS -
ContentProvider
:Können Sie gehen tiefer in den Inhalt Baum wie die Angabe der Art der sms, wie:
content://sms/sent
odercontent://sms/inbox
und hinzufügen von Projektion und Selektion für das zweite argument derquery()
Methode wie, der name, die person, den status der Nachricht (wie die Anrufe Beispiel).Diese Bedarf der Zustimmung:
Ich habe Ihnen mit Beispiel schrieb ich für Sie. Ich hoffe, meine kurze Erklärung war deutlich genug. Viel Glück.
vielen Dank 🙂 u rock 🙂
danke für deinen code habe ich verwendet, String where = CallLog.Anrufe.TYP + "=" + CallLog.Anrufe.MISSED_TYPE + " UND " + CallLog.Anrufe.NEU + "=1", um neue verpasste Anrufe (noch nicht angezeigt wurde Anruf in Abwesenheit). 🙂
FEHLER -> getContentResolver() ist nicht definiert für den Typ new Runnable(){}
InformationsquelleAutor Nikola Despotoski
Da ich nicht genug Ruf zu beantworten @Prasad Frage Kommentar über
FEHLER -> getContentResolver() ist nicht definiert für den Typ new Runnable(){}
getContentResolver() ist Teil der Anwendungs-Kontext, also, wenn Sie einen BroadcastReceiver Zusammenhang verwenden, in der onReceive () - Funktion wie diese
wenn Sie den code oben innerhalb einer Aktivität, dann können Sie
auch stellen Sie sicher, verwenden Sie [Strg + Shift + O (O nicht null)] zu organisieren Einfuhren
Tastaturkürzel für Eclipse Importiert
Ich hoffe, dies wird Ihnen helfen, und helfen, jemand anderes, und ich hoffe mehr, dass dies nicht gegen unsere community-Regel.
InformationsquelleAutor Ashraf Alshahawy