我已按照android提供的SimpleSyncAdapter示例创建了自定义帐户类型。我可以使用客户经理添加帐户,在某些手机上(在Galaxy S3,Galaxy Nexus,HTC Desire HD上测试),我确实在“帐户”和“设置中的同步”下看到了我的帐户。要添加帐户,我要执行以下操作:
boolean added = mAccountManager.addAccountExplicitly(account, password, null);
但是,在Galaxy Note 2和Motorola Xoom上,即使返回true,该帐户也不会显示在“帐户和同步”下。
之前有没有人见过这个问题?
答案 0 :(得分:1)
我错过了setAccountAuthenticatorResult调用。
boolean added = mAccountManager.addAccountExplicitly(account, password, new Bundle());
final Intent intent = new Intent();
intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, username);
intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, accountType);
setAccountAuthenticatorResult(intent.getExtras());
setResult(RESULT_OK, intent);
finish();
答案 1 :(得分:0)
我遇到了这个问题,因为我在模拟器上遇到了同样的问题。我可以通过AccountManager访问帐户详细信息,但它没有显示在帐户和帐户中。同步。我终于重新启动了模拟器并选中了“擦除用户数据”,问题就消失了。
我不知道如何在您的设备上模仿该过程,但可能使用AccountManager删除所述帐户。删除帐户(...)将清除一些旧帐户数据并允许您重置帐户。帐户数据,AccountManager和SyncAdapter配置与帐户和帐户中帐户的可用性之间显然存在脱节。同步。我只是不明白它在哪里。
我希望这有助于更有知识的贡献者更完整地回答原始问题。