AccountManager does not add custom account in Andr

2019-04-04 16:35发布

问题:

I have implemented a sync adapter in my app which requires an account to be added in the device account settings. I followed the same approach given in the Android docs. It works fine till Marshmallow and I can see my account listed in the device accounts. But in Android N preview, account does not add to the device accounts. AccountManager's addAccountExplicitly() method always returns false. Has anyone faced this problem?

回答1:

Not sure if this is the same issue, but there's an issue with AccountManager on the current version of the Android N image. Basically, if you:

  1. Add an account to AccountManager
  2. Uninstall the app
  3. Reinstall the app
  4. Try to add account again

This will fail and you'll see the following in the log:

W/AccountManagerService( 1503): insertAccountIntoDatabase: Account {name=foo@bar.com, type=com.foo.bar}, skipping since the account already exists

This is a known issue and it's been reported to Google: https://code.google.com/p/android/issues/detail?id=210992 https://code.google.com/p/android/issues/detail?id=210951



回答2:

I have totally the same issue. I could fix it by manually going to the application settings and enabling Сontacts permission. I don't know how, but after that I was able to use addAccountExplicitly() method without issues. I even disabled that permission again and cleared app data but it still was working properly...

After app was reinstalled - problem appeared again.



回答3:

Has this been fixed now in the latest Android N release.