我已注册一个广播监听器以接收android.provider.Telephony.SMS_DELIVER
意图动作。
我似乎能够获取此新邮件的正文和发件人电话号码。
但是我无法获取此新消息的消息ID或线程ID。我找到的唯一方法是在消息和会话表中搜索匹配的内容。但这似乎有点混乱,我觉得应该有一个更简洁的方式。
旁注:
是否有一些我错过的短信文档?因为许多SMS api似乎都没有记录。
答案 0 :(得分:3)
SMS中没有消息ID或线程ID。每条SMS都是一个完全独立于所有其他SMS的数据包。在Android中,有一个标准的SMS应用程序,它将SMS存储在数据库中,并使用SMS消息本身中未包含的某些条件进行“线程”对话。但是,第三方也可以构建以完全不同的方式管理消息的SMS应用程序。这在很大程度上取决于管理SMS的特定应用程序的概念和实现。这也是没有太多关于SMS系统的文档的原因。 Android中提供的API非常低级且非常基础。其他应用程序构建于此之上。