Android 如何在特定的短消息对话中产生意图?
我想创建一个意图,在特定对话中打开messages应用程序 如果单击短消息通知,Logcat将显示以下内容:Android 如何在特定的短消息对话中产生意图?,android,sms,android-intent,Android,Sms,Android Intent,我想创建一个意图,在特定对话中打开messages应用程序 如果单击短消息通知,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][
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
当数据启动正确对话中的messages应用程序时。我现在只需要找出一条消息属于哪个对话 我建议探索安卓资源,特别是SMS/MMS内容提供商资源。最后,我们知道存储在SQLite数据库和ContentProvider中的SMS/MMS只是通过形成特定的Uri字符串来访问SQL表。在您的例子中,Uri字符串是:
content://mms-sms/conversations/3
flg=0x340000000
cmp=com.android.mms/.ui.ConversationList
bnds=[0586][600682]
所以您需要了解这个字符串是如何解析为普通数据查询的。我相信它可以在安卓资源中找到。可能没有文档记录的方法来做到这一点。你如何知道用户已经和/或想要使用该应用程序?我将彩信短信设置为仅数据。如果手机上有其他sms应用程序,它也可以监听此目的并启动正确的活动。遗憾的是,sms api没有正式的文档记录,因此我直到现在才找到更好的方法