0

我在构建一个简单的自定义 SMS/MMS 内容提供程序包装类时遇到了很大的麻烦,只要它不存在适用于 android 平台的官方类。显然,为了获取数据,我使用游标查询“content://sms”和“content://mms”内容提供者。

我发现 SMS 相当简单,因为列名称非常容易理解,并且包含典型程序员在其应用程序中需要的所有数据(“人”用于获取短信发送者/接收者联系人 ID,“地址”用于获取发送者/接收者电话号码,“类型”以获取短信是否为收件箱、发件箱、草稿、已发送短信等...)

不幸的是,使用 MMS,我发现了很多麻烦。这些列有难以理解的名称(例如“d_tm”、“ct_cls”、“retr_st”、“d_rpt”等)和我需要的基本信息,例如联系人 ID、电话号码、彩信类型等...似乎错过了。

如何通过 MMS 获取此信息?我搜索了内容提供者的所有 32 列,但没有找到我需要的内容。

提前致谢!

PS我知道谷歌建议避免对没有一系列官方类来访问它们的内容提供者进行这种“低级”操作,但我想像HandCent这样在sms/mms管理中运行的软件公司或 Go Dev 团队,已经使用我正在使用的相同方法构建了自己的内容提供程序。我是对的还是存在管理 SMS/MMS 的非官方库?

谢谢!

4

1 回答 1

2

我用谷歌搜索了更多,最后我发现获取有关 MMS 的联系人 ID、电话号码、类型等信息的正确方法是将内容提供程序打开到以下内容

 URI: "content://mms/{MmsId}/addr" 

({MmsId} 是彩信“_id”列值)。

在这里我找到了我需要的所有信息。

希望能帮助到你!!!

于 2012-06-10T18:13:28.537 回答