2015-06-23 19 views
10

Tôi hiện đang cài đặt ứng dụng Android để sử dụng tính năng Quản lý tài khoản của Android, sử dụng SyncAdapter và tài khoản được xác thực để tự động đồng bộ hóa.Nhiều mục bộ điều hợp đồng bộ hóa Android như Tài khoản Google?

Tôi chỉ có 1 bộ điều hợp đồng bộ hóa đang chạy đồng bộ hóa tất cả nội dung, nhưng tôi muốn tách riêng ra để thực hiện đồng bộ hóa cho các nội dung khác nhau trong các khoảng thời gian khác nhau.

Tôi làm cách nào để có nhiều mục đồng bộ hóa như Google?

Google account screenshot

Trả lời

22

Bạn chỉ cần phải xác định một vài adapter đồng bộ, sử dụng các loại cùng một tài khoản.

Các biểu hiện bao gồm:

<service android:exported="true" android:name="com.example.FooSyncAdapterService"> 
    <intent-filter> 
    <action android:name="android.content.SyncAdapter" /> 
    </intent-filter> 
    <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter_foo" /> 
</service> 
<service android:exported="true" android:name="com.example.BarSyncAdapterService"> 
    <intent-filter> 
    <action android:name="android.content.SyncAdapter" /> 
    </intent-filter> 
    <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter_bar" /> 
</service> 

syncdataper_foo

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
    android:contentAuthority="foo" 
    android:accountType="com.example" 
    android:allowParallelSyncs="true" /> 

syncdataper_bar

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
    android:contentAuthority="bar" 
    android:accountType="com.example" 
    android:allowParallelSyncs="true" /> 

Lưu ý rằng trong trường hợp của các loại tài khoản "com.google", bộ điều hợp đồng bộ thậm chí được cung cấp bởi các ứng dụng khác nhau (Drive, Tài liệu, Trang tính , Gmail, Lịch, v.v.).

+1

Cảm ơn, tôi đã cố gắng mà trước đây nhưng câu trả lời của bạn dẫn tôi đến nhận thấy bạn đã có một contentAuthority khác nhau cho mỗi SyncAdapter, đây chỉ cho tôi những vấn đề- có phải là nhiều Trình cung cấp nội dung, mỗi Trình đăng ký nội dung, mỗi đăng ký với contentAuthority được chỉ định trong tệp xml SyncAdapter. Cảm ơn rất nhiều! –

+0

Làm cách nào tôi có thể đặt nhãn là ảnh đang được đề cập? – waldemar

2

Tôi muốn chỉ thêm thuộc tính chính làm cho loại đồng bộ hiển thị trong trình đơn tài khoản cho câu trả lời ở trên.

"android: userVisible =" true"

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
    android:contentAuthority="foo" 
    android:accountType="com.example" 
    android:allowParallelSyncs="true" 
    android:userVisible="true"/> // this line does the job of showing up. 
Các vấn đề liên quan