данные и синхронизация - вручную синхронизировать почту. календарь и контакты - PullRequest
5 голосов
/ 07 ноября 2011

Я пытаюсь написать приложение, которое синхронизирует мою почту и мой календарь одним щелчком мыши. Просматривая этот форум, я нашел несколько полезных советов и написал короткое тестовое приложение, которое берет мою первую учетную запись Google и начинает синхронизацию.

Код работает, но в настоящий момент синхронизированы только контакты!

    AccountManager am = AccountManager.get(this);
    Account[] acc = am.getAccountsByType("com.google");
    Account account = null;
    if (acc.length > 0) {
        account = acc[0];

        Bundle extras = new Bundle();
        extras.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
        extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);

        ContentResolver.requestSync(account, ContactsContract.AUTHORITY,
                extras);
    }

Метод requestSync принимает «полномочия» в качестве параметра, и теперь я использую «ContactsContract.AUTHORITY», и я думаю, что это причина только для синхронизации моих контактов. Теперь мой вопрос: кто-нибудь знает, какую строку полномочий я должен использовать, чтобы синхронизировать только мою почту и календарь? Если в качестве прав доступа используется «ноль», все три (cal, contacts и mail) синхронизируются

public static void requestSync (Account account, String authority, Bundle extras)

Заранее спасибо !!

1 Ответ

2 голосов
/ 08 ноября 2011

ОК, похоже, что полномочия для контактов:

"com.android.contacts"

и для каландра:

"com.android.calendar"

Но я не смог найти строку для синхронизации Gmail ...

...