2013-04-24 33 views
13

Tôi muốn sử dụng bộ điều hợp đồng bộ trong ứng dụng của mình để đồng bộ hóa danh bạ của bên thứ ba và bên thứ ba (trừ FB) với máy chủ. (Chỉ có khách hàng đến máy chủ một cách đồng bộ)Bộ điều hợp đồng bộ hóa liên hệ trong android

Tôi có hai nghi ngờ đây -

1) Nếu có nhiều adapter đồng bộ trong thiết bị và Nếu chút bẩn đã được xóa bởi một sync adapter, sẽ sync adapter của tôi có thể phát hiện các liên hệ thay đổi/cập nhật ngay lập tức.

2) Tôi đã sử dụng

ContentResolver.setIsSyncable(account, ContactsContract.AUTHORITY, 1); 
ContentResolver.setSyncAutomatically(account, ContactsContract.AUTHORITY, true);  

để đồng bộ hóa địa chỉ liên lạc với máy chủ.

Khởi động đồng bộ sau mỗi 30 giây.

Nhưng tôi muốn nó được thông báo ngay lập tức khi bao giờ liên hệ được thêm vào hoặc đã xóa hoặc Cập nhật để bắt đầu hoạt động perfromSync.

Tôi có cần sử dụng người quan sát không?

Trả lời

3

Để xem các thay đổi đối với địa chỉ liên hệ, bạn sẽ phải đăng ký người quan sát với Trình phân giải nội dung. API đồng bộ không nhằm theo dõi mọi thay đổi, nó được dự định là một API nền mà Android chạy định kỳ tự động cho bạn, để nó có thể hoạt động hàng loạt và sử dụng mạng hiệu quả hơn, không chạy khi mạng bị vô hiệu hóa, v.v. ..

Bit bẩn được sử dụng trên cơ sở mỗi tài khoản. Nói chung, đồng bộ được thiết kế để có tài khoản "sở hữu" cho mỗi liên hệ và không được thiết kế để xuất tất cả các địa chỉ liên hệ từ thiết bị sang một dịch vụ cụ thể. Có một quá trình tổng hợp xử lý việc kết nối các liên hệ từ nhiều tài khoản thành một "Liên hệ" mà người dùng nhìn thấy. Xem:

http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html

Để biết thêm thông tin về cách thức hoạt động.

Nếu bạn định xuất tất cả địa chỉ liên hệ trên thiết bị sang dịch vụ của mình, bạn sẽ cần phải đi bộ liên hệ và chèn địa chỉ liên hệ thô cho dịch vụ của mình. Sau đó, bạn cũng sẽ muốn xem ContentResolver với một người quan sát để xem thời điểm người dùng thêm liên hệ mới vào một số dịch vụ hoặc định kỳ đi bộ tìm kiếm địa chỉ liên hệ mà bạn chưa xuất.

2

sử dụng bit phiên bản. Nếu bất kỳ liên hệ sửa Nó tự động tăng 1.

vì vậy bạn tạo ra cơ sở dữ liệu địa phương để so sánh trước phiên bản để hiện phiên bản. Nếu bất kỳ thay đổi nào xảy ra, bạn sẽ kích hoạt truy vấn cập nhật.

để biết thêm thông tin, hãy truy cập here.

Phiên bản này giúp cập nhật đồng bộ hóa của tôi. Vì vậy, tôi chia sẻ câu trả lời này cho tất cả.

Các vấn đề liên quan