Добавление в приложение Google Account с помощью AccountManager - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь добавить функциональность в мое приложение, которое добавляет учетную запись Google в диспетчер учетных записей Android, используя метод
mAccountManager = AccountManager.get(getBaseApplicationContext());
Account account = new Account("sample.account", "com.google");
ac.addAccountExplicitly(account, "password", null);
Но это указывает на исключение

java.lang.SecurityException: идентификатор вызывающей стороны 10117 отличается от UID Аутентификатора


Можно ли добавить учетную запись в коде приложения (точнее войти в уже существующую учетную запись Google)? Какой метод я должен использовать?

1 Ответ

1 голос
/ 02 декабря 2011

Вам необходимо использовать тот же UID, что и для типа учетной записи, но вы не можете подписать свое приложение пакетом (оно переводится в UID) "com.google".

Вы можете получить учетные записидоступно с помощью:

manager.getAccountsByType("com.google"); // returns array

или с уровнем API 14, вы можете позвонить:

AccountManager.newChooseAccountsIntent(null, null, new String[]{"com.google"}, false, null, null, null, null);

Если вы хотите его в более ранних версиях, вы можете получить исходный код и реализовать ту же механику вproject.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...