2010-12-29 1 views
2

Ich möchte eine Absicht erstellen, die die Nachrichtenanwendung in einer bestimmten Konversation öffnet. Wie generiert man eine Absicht, die in eine bestimmte Kurznachricht-Konversation springt?

Wenn eine Kurznachricht Benachrichtigung Logcat geklickt wird ergibt folgende:

INFO/ActivityManager(31909): Starting activity: Intent { act=android.intent.action.VIEW dat=content://mms-sms/conversations/3 flg=0x34000000 cmp=com.android.mms/.ui.ConversationList bnds=[0,586][600,682] } 

Das ist mir weiter ein wenig gebracht mit content://mms-sms/conversations/3 als die Daten, die den Nachrichten-App in der richtigen Konversation starten. Ich muss jetzt nur herausfinden, zu welcher Konversation eine Nachricht gehört.

+2

Es gibt wahrscheinlich keine dokumentierte Möglichkeit, dies zu tun. Und woher weißt du, dass der Nutzer diese App benutzt und/oder benutzen will? – Falmarri

+0

Ich legte die MMS-Sms Zeug als nur die Daten. Wenn es eine andere SMS-App auf dem Telefon gibt, könnte sie auch auf diese Absicht hören und die richtige Aktivität starten. Die sms api ist leider nicht offiziell dokumentiert, daher konnte ich bis jetzt keinen besseren Weg finden – Janusz

Antwort

1

Ich würde vorschlagen, Android-Quellen zu erkunden, insbesondere in SMS/MMS ContentProvider Quellen suchen. Am Ende wissen wir nur, dass SMS/MMS, die irgendwo in der SQLite-Datenbank und in ContentProvider gespeichert sind, nur auf die SQL-Tabellen zugreifen, indem sie eine bestimmte Uri-Zeichenkette bilden. In Ihrem Fall Uri String ist:

Inhalt: // mms-SMS/Gespräche/3 flg = 0x34000000 cmp = com.android.mms/.ui.ConversationList BNDS = [0586] [600682]

Sie müssen also verstehen, wie diese Zeichenfolge in normale Datenabfrage geparst wird. Ich glaube, dass es in Android-Quellen gefunden werden kann.