80,362
社区成员
发帖
与我相关
我的任务
分享
public class SyncService extends Service {
private static final Object mSyncLock = new Object();
private static SyncAdapter mSyncAdapter;
@Override
public void onCreate() {
super.onCreate();
synchronized (mSyncLock) {
if (mSyncAdapter == null) {
mSyncAdapter = new SyncAdapter(getApplicationContext(), true);
}
}
}
@Override
public IBinder onBind(Intent arg0) {
return mSyncAdapter.getSyncAdapterBinder();
}
}
public class SyncAdapter extends AbstractThreadedSyncAdapter {
private AccountManager mAccMgr;
private Context mContext;
public SyncAdapter(Context context, boolean autoInitialize) {
super(context, autoInitialize);
mContext = context;
mAccMgr = AccountManager.get(mContext);
}
@Override
public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider,
SyncResult syncResult) {
// print out something
Toast.makeText(mContext, "开始同步", Toast.LENGTH_LONG).show();
}
<!-- sync service -->
<service
android:name=".syncadapter.SyncService"
android:exported="true" >
<intent-filter>
<action android:name="android.content.SyncAdapter" />
</intent-filter>
<meta-data
android:name="android.content.SyncAdapter"
android:resource="@xml/syncadapter" />
<meta-data
android:name="android.provider.CONTACTS_STRUCTURE"
android:resource="@xml/contacts" />
</service>