0
我已經實現了一個SyncAdapter,就像這裏所描述的(使用一個虛擬帳戶)並使用我的一個內容提供者(每個表有一個)。據我可以告訴同步代碼是好的。如果我進入「設置 - >帳戶」,選擇我創建的虛擬帳戶,然後選擇我的適配器由系統運行的「立即同步」菜單項。它所做的就是記錄它被調用的事實。立即運行我的Android SyncAdapter。
但試圖從我自己的「立即同步」菜單選項運行它(請參閱下面的主要活動)不會。如果我們有WiFi連接,是否有辦法讓同步適配器立即運行?
private boolean actionSynchronize() { if (mLogger.isTraceEnabled()) mLogger.trace("Synchronising now!"); // Pass the settings flags by inserting them in a bundle Bundle settingsBundle = new Bundle(); settingsBundle.putBoolean( ContentResolver.SYNC_EXTRAS_MANUAL, true); settingsBundle.putBoolean( ContentResolver.SYNC_EXTRAS_EXPEDITED, true); /* * Request the sync for the default account, authority, and * manual sync settings */ ContentResolver.requestSync(mAccount, AUTHORITY, settingsBundle); return true; }