2012-01-28 12 views
5

Mam adapter synchronizacji, który działa poprawnie. Nie wymaga połączenia z Internetem, ponieważ musi zsynchronizować książkę adresową z inną lokalną pamięcią (moja aplikacja). Gdy połączenie Wi-Fi jest wyłączone, a urządzenie nie ma połączenia z Internetem, system Android wyłącza synchronizację konta z ustawieniem synchronizowania konta: .Syncadapter bez połączenia z Internetem

Czy istnieje sposób na utrzymanie mojego adaptera synchronizacji, nawet gdy połączenie jest wyłączone?

+0

Z ciekawości, jaki jest Twój _application_ uaktualnia swoje dane, gdy sieć jest w dół? Z tego co zrozumiałem, syncadapter został zaprojektowany (i zbudowany), aby zsynchronizować informacje ze źródłem -somewhere w Internecie_, więc naturalnie wynika, że ​​jeśli sieć jest wyłączona, nie ma sensu włączanie synchronizacji. –

+0

To, co zrobiłem, to zaimplementowanie mojego kompozytu do zsynchronizowania kontaktów natywnych z listą kontaktów aplikacji. Tak więc używam adaptera synchronizacji, aby zdefiniować wystawcę uwierzytelnienia i utworzyć użytkownika dla zaimportowanych kontaktów. –

+0

Otrzymałeś jakieś rozwiązanie –

Odpowiedz

0

Dodać extraSYNC_EXTRAS_MANUAL przed wywołaniem requestSync(account,authority, extras);

extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true); 
ContentResolver.requestSync(account,authority, extras); 
+0

To nie zadziałałoby –

+0

Nie działa w moim przypadku – allemattio

0

W SyncManager spróbuj ustawić mDataConnection true gdy konto typu jest twoje.

0

Cóż, nie ma mowy, struktura SyncAdpater nie będzie działać bez połączenia z Internetem Więc lepiej jest ponownie wdrożyć kartę synchronizacji jako usługę intencji.

0
public static void requestManualSync(Account account, Bundle extras) { 
    //Do your Stuff here... 
} 

Put powyżej metody w SyncAdapter ..