Что такое имя учетной записи ContentResolver requestSync? - PullRequest
2 голосов
/ 23 декабря 2011

Я пытаюсь вызвать ContentResolver.requestSync. В документах сказано, что мне нужно 3 параметра. Первый - это Учетная запись, которая гласит:

какая учетная запись должна быть синхронизирована

Есть 2 конструктора аккаунта. Если нет другого способа получить учетную запись, я бы хотел:

публичная учетная запись (имя строки, тип строки)

В документации по этому конструктору ничего нет.

Хотя я вижу, что мне нужно имя и тип, я не знаю, какие строки я бы использовал.

Я посмотрел пример SampleSyncAdapter от Google, и единственное место, где я могу найти это, - AuthenticatorActivity:

окончательная учетная запись = новая учетная запись (mUsername, Constants.ACCOUNT_TYPE);

Однако в моем коде нет логина пользователя, так какое «имя» я бы использовал?

Как мне создать объект Account?

1 Ответ

2 голосов
/ 24 июля 2012
AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
Account[] list = manager.getAccounts();
Pattern emailPattern = Patterns.EMAIL_ADDRESS;
String EmailID=null
for (Account account : list) 
    if (emailPattern.matcher(account.name).matches()) 
            EmailID=account.name;
             .
             .
             .
             .

Этот код можно использовать для получения данных учетной записи.

...