2012-06-09 29 views
0

我在構建簡單的自定義SMS/MMS內容提供者包裝類時遇到了很大的麻煩,只要它不存在用於android平臺的官方SMS/MMS內容提供者包裝類。 顯然,爲了獲取數據,我使用遊標在「content:// sms」和「content:// mms」內容提供程序上進行查詢。Android從MMS獲取person_id

我發現SMS相當簡單,因爲列名非常易懂,並且包含典型程序員在他的應用程序中需要的所有數據(「person」以獲取sms發送者/接收者聯繫人ID,「地址」以獲得發件人/收件人的電話號碼,「類型」,以獲得如果短信是收件箱,發件箱,草稿,發短信等...)

不幸的是,與MMS我發現很多麻煩。這些列有難以理解的名稱(例如「d_tm」,「ct_cls」,「retr_st」,「d_rpt」等)以及我需要的基本信息,例如聯繫人ID,電話號碼,MMS類型等。似乎錯過了。

我如何通過MMS獲取此信息? 我搜索了內容提供者的所有32列,但我沒有找到我需要的。

在此先感謝!

P.S. 我知道,谷歌建議,以避免這種「低級」操作內容提供商,沒有一系列官方的類來訪問它們,但我想象的是軟件的房子,在短信/ MMS管理,如HandCent或Go Dev團隊,都使用我使用的相同方法構建了自己的內容提供商。 我是對的還是存在管理短信/彩信的非官方圖書館?

謝謝!

+0

我不明白爲什麼我的問題上的「-1」......也許我沒有以明確的方式發佈問題...... – GiveEmTheBoot

+0

「content:// mms/part」this you need to pass在Uri – swiftBoy

+0

試過你的解決方案......並如預期的那樣,它不起作用:(就我所知的「content:// mms/part」uri,你可以獲得有關MMSs單一部分的所有信息(音頻,視頻,圖像附件等)。沒有關於contact_id或MMS類型的信息...其他建議? – GiveEmTheBoot

回答

1

我GOOGLE了一點點,最後我發現,要得到這樣CONTACT_ID,電話號碼,類型等有關信息,彩信的正確方法,是打開內容提供商以下

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

({MmsId}是MMS「_id」列值)。

在這裏,我發現我需要的所有信息。

希望它有幫助!

+0

+1聽起來真的很好:) – swiftBoy