2

Androidで単純なRESTクライアントを作成しています。REST呼び出しを担当するサービスを作成しましたが、動作するにはユーザー名とパスワードが必要です。ユーザー名とパスワードは通常のアカウントレジストリに保存されているので、私がやりたいのは、サービスでusernamaとauthトークンを取得することです。

問題は、をパラメータとして使用しgetAuthTokenたいということですが、サービスを利用している間は、渡すActivityものがありません。Activityこの問題に対処する既知の方法はありますか?または、私がやっているのはすべて間違っていて、サービス内からこのデータにアクセスしようとすべきではありませんか?

4

1 に答える 1

2

必ずしもそうとは限りません:http://developer.android.com/reference/android/accounts/AccountManager.html#getAuthToken%28android.accounts.Account,%20java.lang.String,%20boolean,%20android.accountsを使用しました。 AccountManagerCallback%3Candroid.os.Bundle%3E、%20android.os.Handler%29サービス内からの前。

編集:世界が変わった。これを使用することをお勧めします。アプリにLOGIN_ACCOUNTS_CHANGED_ACTIONのIntentReceiverを登録させるだけで、ユーザーがパスワードを入力するたびにそのインテントを受け取ります。結果を明示的に待つことはありません。結果がすでにログインしている場合はすぐに取得するか、インテントを待つ必要があると言われます。

于 2011-05-05T14:56:55.893 に答える