Android从MMS获取person_id

时间:2012-06-09 13:19:05

标签: android sms android-contentprovider mms

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

我发现使用SMS非常简单,因为列名称非常清晰,并且包含典型程序员在其应用程序中需要的所有数据(“人员”获取短信发送者/接收者联系人ID,“地址”以获取发件人/收件人电话号码,“输入”,如果短信是收件箱,发件箱,草稿,发送的短信等...)

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

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

提前致谢!

P.S。 我知道谷歌建议避免对没有一系列官方类访问它们的内容提供商进行这种“低级”操作,但我想象那个以短信/ mms管理方式运行的软件公司,如HandCent或Go Dev团队,使用我正在使用的相同方法构建了自己的内容提供商。 我是对的还是存在管理短信/彩信的非官方图书馆?

谢谢!

1 个答案:

答案 0 :(得分:2)

我google了一点点,最后我发现获取有关MMS的contact_id,电话号码,类型等信息的正确方法是打开以下内容提供商

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

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

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

希望它有所帮助!!!