1

Androidアカウントマネージャーで独自のオーセンティケーターで開発しています。また、ユーザーがログインするときに、アカウント マネージャーにアカウントを追加するときに、ユーザー固有のデータを保存したいと考えています。

AccountManager のメソッドを使用しています。

public boolean addAccountExplicitly (Account account, String password, Bundle userdata)

3番目のパラメーターはバンドルで、文字列のキーと値のペアのみを含むことができると思います...しかし、私の場合、バンドルをバンドルに入れたい..次のようになります:

userData _"Parameter1":"bundleOfParameter1"
        |_"Paramter2": "bundleOfParamter2" 
        |_....

アカウントマネージャーにアカウントが追加された後、次の方法でユーザーデータを取得しようとしました:

public String getUserData (Account account, String key)

それはnullを返します。アカウントマネージャーに追加するときにユーザーデータを設定しないためだと思います。これは、バンドルであり文字列ではないためです...

誰かが問題を渡す方法を考えていますか? または、誰かが同じ問題を抱えていて、助けることができますか? 私の考えは、Bundle.toString() を使用してユーザーデータ バンドルを文字列として保存し、後で文字列をバンドルに変換することですか?

(私の完璧な英語ですみません...)

4

2 に答える 2

0

バンドル内のバンドルではなく、Parcelable を実装するカスタム クラスでデータを送信してみてください

于 2014-10-27T12:54:21.343 に答える