У кого-нибудь есть опыт использования API verifyCredentials в AccountManager (Android) - PullRequest
2 голосов
/ 12 июня 2011

Я хочу убедиться, что идентификатор пользователя и пароль действительны или нет (например, учетная запись Google, учетная запись Facebook, учетная запись Twitter ...). Я нашел и API verifyCredentials в классе AccountManager. Могу ли я использовать этот API для проверки пароля учетной записи?
Я пишу этот checkCredentials API для проверки пароля пользователя действительным или нет, но это приведет к ANR, и я не могу получить результат, пароль действителен или нет? Есть ли у вас опыт работы с этим API или как проверить идентификатор и пароль в Andoroid?
Любая информация или подсказки будут оценены. Большое спасибо.

1 Ответ

1 голос
/ 24 октября 2011

В моем приложении я использовал verifyCredentials. Я поместил пример кода ниже на случай, если это поможет ...

public class MyActivity implements AccountManagerCallback<Bundle>

<snip>

    // Get the user to confirm their credentials 
    Account account = new Account("username", "com.mydomain.myapp");

    // The result of this call is handled in the
    // run(AccountManagerFuture<Bundle> response) method below
    AccountManager.get(this).confirmCredentials(account,
                                                null,
                                                this,
                                                this,
                                                null);

<snip>

  /**
   * Handle callbacks from the {@link AccountManager} methods
   */
  @Override
  public void run(AccountManagerFuture<Bundle> response)
  {
    try
    {
      // This call blocks while waiting for result from confirmCredentials
      Bundle result = response.getResult();

      // Handle the result
    }
    catch (OperationCanceledException e)
    {
      // User cancelled login
      e.printStackTrace();
    }
    catch (AuthenticatorException e)
    {
      // Failed to login
      e.printStackTrace();
    }
    catch (IOException e)
    {
      e.printStackTrace();
    }
    finally
    {
      // Always exit
      finish();
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...