2011-02-26 2 views
2

기기에 저장된 사용자의 모든 이메일 주소 (친구의 이메일 주소가 아니라 본인의 이메일 주소)를 검색해야합니다. 예를 들어 [email protected], [email protected][email protected]이라는 세 개의 메일 주소가 있다면이 세 문자열과 함께 배열 (또는 비슷한)을 반환하는 메소드를 찾고 있습니다. : [ "[email protected]", "[email protected]", "[email protected]"]. 아이디어가 있으십니까?기기에 저장된 사용자의 이메일 주소를 얻는 방법은 무엇입니까?

편집 : 기기의 "나"연락처에 저장된 이메일 주소와 기본 메일 앱 및 Gmail 클라이언트 앱에 저장된 이메일 주소 (기본 사용되는 앱)를 가져오고 싶습니다. , 나는 생각한다). 미리 감사드립니다. G.

답변

0

대부분의 주소는 전자 메일 클라이언트가 유지 관리합니다. 전자 메일 클라이언트는 얻을 수있는 콘텐츠 공급자가 없습니다.

나가는 이메일의 반송 주소를 선택하기 위해 주소 목록을 사용하는 것이 Android의 일을하는 데 적합하지 않습니다. 신청서에 적절하게 준비된 ACTION_SEND 인 텐트를 던져서 이메일을 보내겠다고 발표해야합니다. 어떤 응용 프로그램이 궁극적으로 서비스가 될지라도 사용자는이를 전송할 때 사용할 계정과 반송 주소를 선택할 수 있습니다.


부록 : 그것은 문서화되지 않은 것

  • :

    기본 이메일 클라이언트가 콘텐츠 공급자가 있기 때문에 당신이 또는 사용할 수 없습니다 안되는 content://com.android.email.provider/account라고 있습니다.

  • Its manifest은 사용하려는 앱에 com.android.email.permission.ACCESS_PROVIDER 권한이 필요합니다.
  • 해당 허가는 시스템 이미지에 저장된 앱 또는 시스템 이미지의 키와 동일한 키로 서명 된 승인을 제한하는 의 signatureOrSystem입니다. 응용 프로그램이 해당 범주 중 하나에 속하지는 않습니다. 해당 장치가 이메일에 대한 지원을 것이라는 보장은 없습니다

    • :

    다른 일들을 알고 있어야합니다.

  • 기기의 이메일은 자체 계정 데이터베이스를 유지하고 노출하지 않는 타사 이메일 클라이언트 (예 : K9, SEVEN, Touchdown, MailDroid 또는 기타 업체)가 서비스를 제공 할 수 있습니다.
+0

Android 기본 이메일 클라이언트에 새 주소를 설정하면 자동으로 Gmail 응용 프로그램에도 새 주소가 나타납니다 ... 그래서 기본 앱이 내 이메일 주소를 노출한다고 생각합니다. – Geltrude

+0

제 대답의 부록을 참조하십시오. – Blrfl

+0

감사 : 그리고 "나"의 주소는 어떻게 되나요? – Geltrude