我想创建一个在特定对话中打开消息应用程序的Intent。
如果单击短消息通知,Logcat会显示以下内容:
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] }
由于数据在正确的对话中启动了消息应用,因此我使用content://mms-sms/conversations/3
进一步了解了这一点。我现在只需要找出一条消息属于哪个对话。
答案 0 :(得分:1)
我建议探索Android来源,特别是查看SMS / MMS ContentProvider来源。最后我们都知道SMS / MMS存储在SQLite数据库的某个地方,而ContentProvider只是通过形成特定的Uri字符串来访问SQL表。在你的情况下,Uri字符串是:
内容:// MMS-SMS /会话/ 3 FLG = 0x34000000 CMP = com.android.mms / .ui.ConversationList bnds = [0586] [600682]
因此,您需要了解此字符串如何解析为普通数据查询。我相信它可以在Android资源中找到。