2

デバイスに保存されているユーザーのすべてのメールアドレスを取得する必要があります(友達のメールアドレスではなく、自分のメールアドレス)。たとえば、3つのメールアドレスgeltrude @ gmail.com、geltry @ yahoo.co.uk、cippalippa @ hotmail.comがある場合、次の3つの文字列を含む配列(または同様のもの)を返すメソッドを探しています。 ["geltrude@gmail.com"、 "geltry@yahoo.co.uk"、"cippalippa@hotmail.com"]。何か案が?

編集:デバイスの「自分」の連絡先に保存されているメールアドレスに加えて、デフォルトのメールアプリとGmailクライアントアプリ(デフォルトで使用されているアプリ)に保存されている自分のメールアドレスを取得したいと思います。 。前もって感謝します。G。

4

1 に答える 1

0

これらのアドレスのほとんどは、取得するコンテンツ プロバイダーを持たない電子メール クライアントによって管理されています。

アドレス リストを使用して送信メールの返信先アドレスを選択することが目的の場合、それは Android のやり方には適していません。アプリケーションは、適切に装備されたACTION_SENDインテントを捨てることによって、電子メールを送信したいことを通知する必要があります。最終的にサービスを提供するアプリケーションが何であれ、送信に使用するアカウントと返信アドレスをユーザーが選択できるようにする場合があります。


補遺:

デフォルトの電子メール クライアントには、 次のcontent://com.android.email.provider/account理由で使用すべきではない、または使用できないというコンテンツ プロバイダーがあります。

  • それは文書化されていません。
  • そのマニフェストでは、それを使用するアプリにcom.android.email.permission.ACCESS_PROVIDER権限が必要です。
  • このアクセス許可にはprotectionLevelofsignatureOrSystemがあり、システム イメージに保存されているアプリ、またはシステム イメージ内のアプリと同じキーで署名されたアプリへの付与を制限します。アプリケーションがこれらのカテゴリのいずれにも該当しない可能性があります。

その他の注意事項:

  • 特定のデバイスが電子メールをサポートするという保証はありません。
  • デバイス上の電子メールは、独自のアカウント データベースを維持し、おそらくそれを公開しないサードパーティの電子メール クライアント (K9、SEVEN、Touchdown、MailDroid など) によって処理される場合があります。
于 2011-02-26T15:25:34.603 に答える