У меня есть два приложения, которые используют один и тот же тип пользовательской учетной записи. Эти два приложения полностью независимы и просто делят учетную запись. Когда один из них запускается, он проверяет существующие пользовательские учетные записи и, если учетная запись не найдена, показывает страницу входа.
Поэтому я создал свой AccountAuthenticator
как проект библиотеки и ссылаюсь на него в обоих приложениях. Согласно этому руководству:
Допустим, вы скопировали код своего аутентификатора в 2 ваших приложения, тем самым разделив его логику и изменив дизайн страниц входа в каждом приложении, чтобы он соответствовал приложению, которому оно принадлежит. В этом случае аутентификатор первого установленного приложения будет вызываться для обоих приложений, когда будет запрошен токен авторизации. Если вы удалите первое приложение, с этого момента будет вызываться аутентификатор второго приложения (поскольку он теперь единственный).
Когда я запускаю одно из приложений (независимо от того, какое приложение) и вызываю addAccount
, оно хорошо показывает страницу входа. Затем, когда я запускаю второе приложение и вызываю addAccount
, ничего не происходит и страница входа не отображается. После удаления первого приложения второе приложение работает правильно и показывает страницу входа. Так в чем же проблема и как ее исправить?
Реализация addAccount
:
mAccountManager.addAccount(accountType, authTokenType, null, null, this, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
try {
Bundle bnd = future.getResult();
showMessage("Account was created");
} catch (Exception e) {
e.printStackTrace();
showMessage(e.getMessage());
}
}
}, null);
заранее спасибо