我正在尝试确定用户是否已添加该帐户,以防止在我的应用上多次添加同一帐户。我使用自己的帐户身份验证器活动。 这是我的代码:
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;
}
}
}
然而,即使帐户存在,应用程序也始终显示"帐户不存在"。
答案 0 :(得分:2)
通过引用,您必须将其与等号进行比较。
解决方案:
if(account.name.equals(accountName))
答案 1 :(得分:0)
你可以使用这种方法
{{1}}