2012-04-19 2 views
3

Android 앱을 개발 중이며 사용자가 앱을 설치할 때 whatsapp와 같은 연락처를 자동으로 추가/동기화하고 싶습니다. 또한 새 연락처가 추가되거나 삭제 될 때마다 동기화됩니다. 나는 응용 프로그램에 대한 xmpp 또는 자바 라이브러리를 사용하고자합니다. 감사합니다자동으로 연락처 추가/동기화

+0

질문에 대한 답변이 있거나 더 이상 유효하지 않은 경우 모든 사람들이 문제가 해결되었음을 알 수 있도록 가장 적합한 답변을 선택하십시오. 감사. – wattostudios

+1

@ user1017110, 동일하게 샘플 코드를 공유하십시오. 나는 많은 예를 겪었지만 아무 것도 도움이되지 못했습니다. 고맙습니다! –

답변

6

연락처 동기화가 채팅 앱과 별도로 실행되는 경우 SyncAdapter을 사용해야합니다. 이것은 Android service으로 실행되므로 채팅 앱이 실행 중이 아닌 경우에도 서버와 연락처를 동기화 상태로 유지할 수 있습니다. 구글에서 제공하는 SampleSyncAdapter에 대해 다음 URL을 참조하십시오, 그 구축을위한 소스 코드와 정보를 제공 자신의 SyncAdapter ... http://developer.android.com/resources/samples/SampleSyncAdapter/index.html

앱이 실행되는 경우에만 연락처를 동기화하고 싶은 경우에, 당신은하지 않습니다 실제로 모든 종류의 동기화 메커니즘이 필요하므로 장치에 연락처를 추가하기 만하면됩니다.

두 가지 방법 모두 ContactsContract 개체를 만들어 연락처를 Android 연락처 데이터베이스에 작성합니다. 저장할 데이터 유형에 따라 ContactsContract의 여러 가지 변형이 있습니다. 예를 들어 ContactsContract.CommonDataKinds.Email은 연락처의 전자 메일 주소를 저장하는 데 사용됩니다. http://developer.android.com/reference/android/provider/ContactsContract.html

난 당신이 확실히 SampleSyncAdapterhttp://developer.android.com/resources/samples/SampleSyncAdapter/index.html의 소스 코드를 읽을 것을 권장합니다 ... ContactsContract에 대한 자세한 내용은이 URL을 참조하십시오 당신이 안드로이드 연락처 데이터베이스에서 연락처를 읽고 쓰는 데 필요한 모든 코드를 제공하기 때문에, 그것을 연락처 정보를 저장하기 위해 ContactsContract을 빌드하는 방법을 보여 주며, 사용을 선택하면 SyncAdapter의 예를 제공합니다.

+0

감사합니다. 연락처를 json 데이터로 서버에 보내도록 관리했습니다. 그러면 서버는 { "phone": "2338766745", "contacts": [{ "name": "마이크", "telnumber": "18765434567"] }와 같은 메시지를받습니다. 이것은 작동하지만 앱에 의해 수동으로 트리거되어야하며 사용자가 제안한 것만 큼 부드럽 지 않은 것으로 생각됩니다. 다시 한번 감사드립니다. –

관련 문제