0

Androidプラットフォームの公式クラスが存在しない限り、単純なカスタムSMS/MMSコンテンツプロバイダーラッパークラスを構築するのに非常に大きな問題があります。明らかに、データを取得するには、カーソルを使用して「content:// sms」および「content://mms」コンテンツプロバイダーにクエリを実行します。

列名は非常にわかりやすく、一般的なプログラマーがアプリケーションで必要とするすべてのデータ(SMS送信者/受信者の連絡先IDを取得するための「人」、送信者/受信者を取得するための「アドレス」)が含まれているため、SMSではかなり簡単であることがわかりました。電話番号、SMSが受信トレイ、送信トレイ、ドラフト、送信されたSMSなどであるかどうかを取得するための「タイプ」...)

残念ながら、MMSでは多くの問題を発見しました。列には、わかりにくい名前( "d_tm"、 "ct_cls"、 "retr_st"、 "d_rpt"など)と、連絡先ID、電話番号、mmsのタイプなどの必要な基本情報があります。見逃しているようです。

MMSを介してこの情報を取得するにはどうすればよいですか?コンテンツプロバイダーの32列すべてを検索しましたが、必要なものが見つかりませんでした。

前もって感謝します!

PS私はグーグルがそれらにアクセスするための一連の公式クラスを持っていないコンテンツプロバイダーに対するこの種の「低レベル」操作を避けるようにアドバイスすることを知っています、しかし私はHandCentのようなsms/mms管理で動作するソフトウェアハウスを想像しますまたはGoDevチームは、私が使用しているのと同じアプローチを使用して独自のコンテンツプロバイダーを構築しました。私は正しいですか、それともSMS / MMSを管理するための非公式ライブラリが存在しますか?

ありがとう!

4

1 に答える 1

2

もう少しググったところ、MMS に関する contact_id、電話番号、タイプなどの情報を取得する正しい方法は、次のコンテンツ プロバイダーを開くことであることがわかりました。

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

({MmsId} は MMS の「_id」列の値です)。

ここで、必要なすべての情報を見つけました。

それが役に立てば幸い!!!

于 2012-06-10T18:13:28.537 に答える