Android を使用してWeb サービスAccountManager
とアプリケーション (連絡先とカレンダーの標準同期) を同期したいのですAccountManager
が、ユーザー名とパスワードしか保存していないようです。私の Web サービスは、ユーザー名、パスワード、およびアカウントの 3 つの資格情報を取得します。3 番目の情報を保存するためのベスト プラクティスは何ですか?
11960 次
2 に答える
32
pablisco が説明したように、 addAccountExplicitly()の userData Bundle パラメータを介して AccountManager の任意のユーザー データを保存する機能を使用できます。
final Bundle extraData = new Bundle();
extraData.putString("someKey", "stringData");
boolean accountCreated = am.addAccountExplicitly(account, password, extraData);
後で、たとえばオーセンティケーターのgetAuthToken()メソッドで、使用しているアカウントに関連するデータを取得できます。
String myData = am.getUserData(account, "someKey");
残念ながら、これを書いている時点では文字列しか取得できないため、最初にバンドルを構築するときにデータを文字列として保存する必要があります。これが誰かに役立つことを願っています。
于 2011-12-16T05:09:19.410 に答える
3
Android のドキュメントから、アカウントが追加されたときに userData Bundle のいずれかを使用して実行することになっています。
AccountManager manager = AccountManager.get(context);
manager.addAccountExplicitly(account, null, userData);
または値を明示的に追加します。
manager.setUserData(account, KEY, value);
しかし、私はこれに問題があります:
于 2011-12-02T18:29:48.843 に答える