Android 接收短信意图:获取消息 ID 或线程 ID

Android Receive SMS Intent: Get Message Id or Thread Id

我已经注册了一个广播侦听器来接收 android.provider.Telephony.SMS_DELIVER Intent 操作。

我似乎可以得到这条新消息的正文和发件人 phone 号码。

但是我无法获取此新消息的消息 ID 或线程 ID。我找到的唯一方法是在消息和对话表中搜索匹配的内容。但这似乎有点乱,我觉得应该有一种更简洁的方法。

旁注:
是否有一些我遗漏的 SMS 文档?因为很多短信 api 似乎没有记录。

SMS 中没有消息 ID 或线程 ID。每个 SMS 都是一个数据包,完全独立于所有其他 SMS。在 Android 中,有一个标准的 SMS 应用程序将 SMS 存储在数据库中,"threads" 使用 SMS 消息本身不包含的某些标准进行对话。但是,第三方也可以构建以完全不同的方式管理消息的 SMS 应用程序。这在很大程度上取决于管理 SMS 的特定应用程序的概念和实现。这也是为什么没有太多关于 SMS 系统的文档的原因。 Android 中可用的 API 非常低级且非常基础。其他应用程序构建于此之上。