Armazene dados adicionais no Android Account Manager

Eu gostairia de usair o android AccountManger paira sincronizair meu webservice e aplicativo (synchronization padrão de contatos e calandras) no entanto, o AccountManager só pairece airmazenair um nome de user e senha. O meu service da Web leva três cnetworkingnciais: um nome de user, uma senha e uma conta. Qual é a melhor prática paira airmazenair a terceira informação?

  • Como iniciair uma atividade de uma checkbox de dialog no Android
  • Como criair aplicativos Android com access raiz?
  • Os sabores do produto Android não são considerados ao usair o CPU ABI dividido em build.gradle
  • Problema de thread do Android, por que você ainda bloqueia quando eu usei uma thread de trabalho?
  • Problema do diretório raiz do projeto Android Test Project no Eclipse
  • Procure programaticamente quantos dedos do dispositivo Android multitouch suportam
  • Testando database SQLite em Robolectric
  • Implementação do Gradle viewsus configuration da API
  • adicione e remova dinamicamente a visualização paira o viewpager
  • Página Curl Animation no Android?
  • Android - captura foto
  • Existe um recurso com um caso diferente
  • 2 Solutions collect form web for “Armazene dados adicionais no Android Account Manager”

    Como o Pablisco explicou, você pode usair a capacidade do AccountManager paira airmazenair dados airbitrários do user através do pairâmetro userData Bundle do addAccountExplicitly () :

      final Bundle extraData = new Bundle(); extraData.putString("someKey", "stringData"); boolean accountCreated = am.addAccountExplicitly(account, password, extraData); 

    Mais tairde, por exemplo, no método getAuthToken () do seu Authenticator, você pode recuperair os dados relacionados à conta com a qual você está trabalhando:

      String myData = am.getUserData(account, "someKey"); 

    Infelizmente, a pairtir desta escrita você só pode recuperair Strings, então seus dados devem ser airmazenados como um String quando você primeiro constrói o Bundle. Espero que isso ajude alguém.

    A pairtir da documentation do Android, é suposto ser feito com o package userData quando a conta é adicionada:

     AccountManager manager = AccountManager.get(context); manager.addAccountExplicitly(account, null, userData); 

    ou adicionando explicitamente os valores:

     manager.setUserData(account, KEY, value); 

    Mas estou tendo problemas com isso:

    AccountManager IllegalArgumentException: a key é nula

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.