检查帐户是否已在AccountManager中注册

时间:2015-08-15 23:48:39

标签: android accountmanager

我正在尝试确定用户是否已添加该帐户,以防止在我的应用上多次添加同一帐户。我使用自己的帐户身份验证器活动。 这是我的代码:

public class AuthenticatorActivity extends AccountAuthenticatorActivity {



    private AccountManager mAccountManager;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.setup_mail_dialog);
        mAccountManager = AccountManager.get(getBaseContext());


        findViewById(R.id.bSetupConfirm).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkAccount();

            }
        });

    }


    private void checkAccount() {
        mAccountManager = AccountManager.get(getBaseContext());
        String accountName = ((EditText) findViewById(R.id.etSetupEmail)).getText().toString().trim();
        Account[] accounts = mAccountManager.getAccountsByType(getResources().getString(R.string.account_type));
        for(Account account : accounts) {
            if(account.name == accountName) {
                System.out.println("Account exists");
                return;
            }else{
                System.out.println("Account do not exists");
                return;
            }
        }

    }

然而,即使帐户存在,应用程序也始终显示"帐户不存在"。

2 个答案:

答案 0 :(得分:2)

通过引用,您必须将其与等号进行比较。

解决方案:

 if(account.name.equals(accountName))

答案 1 :(得分:0)

你可以使用这种方法

{{1}}