Ich möchte einen Weg spezifische SMS finden, die ein bestimmtes Wort enthält und automatisch antworten.Android SMS Programmierung
Ich habe einen Weg, um die SMS zu antworten, aber ich kann immer noch nicht auf der Suche nach der SMS gefunden ...
Ich möchte einen Weg spezifische SMS finden, die ein bestimmtes Wort enthält und automatisch antworten.Android SMS Programmierung
Ich habe einen Weg, um die SMS zu antworten, aber ich kann immer noch nicht auf der Suche nach der SMS gefunden ...
Haben Sie Google App Inventor versucht? Es hat ein Beispiel für diese Art von App.
Es ist eine nicht dokumentierte Content-Provider für SMS: "Inhalt: // sms/Posteingang". Aber das ist nicht offiziell und kann sich ändern. Es gibt keinen richtigen Zugang zu SMS.
Es ist wahr, dass es nicht dokumentiert ist, aber Leute verwenden dies seit Jahren und wenn ein Update die Art, wie wir auf die SMS-Datenbank zugreifen, ändern würde, würde es Hunderte von Benutzeranwendungen beeinflussen. Also bezweifle ich, dass sie das bald ändern würden.
Wie auch immer, starten Sie durch Erstellen eines Cursor-Objekts für die SMS-Datenbank und führen Sie einfach eine Abfrage ohne Bedingungen in der Where-Klausel. Dann lauf einfach durch die Datenbank und ziehe die Werte heraus, die du brauchst. Jemand war auch nett genug, um die verschiedenen Spaltennamen in der Datenbank zu veröffentlichen. Hier sind sie: How many database columns associated with a SMS in android?
Unten ist ein Code-Snippet, um die SMS aus der Datenbank zu bekommen.
Cursor messages;
Columns message = ColumnsFactory.messages(); //points to structutre
messages = getContentResolver().query(Uri.parse("content://sms/"),
null, null, null, null);
while (messages.moveToNext()) {
//do stuff here.
In Ihrem Broadcast-Empfänger für eingehende SMS, überprüfen Sie die SMS Körper. Wenn der SMS-Text dieses bestimmte Wort enthält, senden Sie eine Antwort an diese Nummer. Auf die gleiche Weise können Sie auch nach eingehenden Nummern suchen.
Beispiel für bestimmte Nummer zu überprüfen:
if (smsBody.contentEquals("word to match")) {
// create reply
}