Android アプリでは、チャット サービスにサードパーティ ベンダーを使用しています。ユーザーのセッションを作成し、ログインしてサービスを使用し、メッセージを取得する必要があります。すべては、成功コールバック内で呼び出す必要がある別個の HTTP リクエストです。では、以下のようにするにはどうすればよいですか。
ExternalService.createSession(param1, param2, new Callback<Session>() {
void onSuccess(Session session) {
session.login(new Callback<User> {
void onSuccess(User user) {
user.getMessages(new Callback<List<Messages>> {
void onSuccess(List<Messages> messages) {
// This is original place where everything is success
}
void onError(Error error) {
}
}
}
void onError(Error error) {
}
}
void onError(Error error) {
}
});
で実行すると、Activity
問題なく正常に動作します。でそれを行う方法はService
?Service
私も実行に問題があるため、AsyncTask
エラーをスローします"Can't create handler inside thread that has not called Looper.prepare()"
。Service
を呼び出してブロックAsyncTask
の終わりに到達した後に終了します(私は理解しています、それが動作です)。しかし、使用せずにどうすれば達成できますか? または、 を使用せずに行う方法が他にない場合、必要なことを達成した後、どうすれば停止できますか? これを行うための最良のアプローチは何ですか?handleAction
Service
Looper
Looper