私のアプリでプッシュ通知を使用しようとしています。私は作業を完了しましたが、Firebaseのリフレッシュされたトークンを自分のサーバーに送る必要がありますが、アクティビティ/フラグメントのコンテキスト外でrxjava2/retrofit2メソッドを使用する方法はわかりません。どのように私はそれにアクセスできますか?サービスクラスからWebserviceへの呼び出しを行う方法
マイソース:
public class FirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG = "FIIDService";
@Override
public void onTokenRefresh() {
// Get updated InstanceID token.
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
sendRegistrationToServer(refreshedToken);
}
private void sendRegistrationToServer(String token) {
//TODO
}
}
私が活動/フラグメントに含まれていた場合、私は次の呼び出しを使用しますが、サービスで、私はそれを行うことはできません。
getCompositeDisposable()
.add(productManager.getProductList(authToken))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<List<Product>>() {
@Override
public void accept(@NonNull List<Product> products) throws Exception {
onProductsLoaded(products);
}
}, new Consumer<Throwable>() {
@Override
public void accept(@NonNull Throwable throwable) throws Exception {
if (!isViewAttached())
return;
getMvpView().hideAlertDialog();
getMvpView().showErrorAlertDialog();
}
}));
私はあなたがサービスでそれを行うのを妨げているのか理解できません。 –
メソッド "void sendRegistrationToServer(String token)"の内部で、サーバー側に新しいトークンを格納するために、新しいトークンでrestサービスを呼び出す必要があります。しかし、私はactivity/fragmentのコンテキストなしでREST呼び出しを行う方法を知らない。 – MAOL
さて、RESTサービスコールでは、アクティビティ/フラグメントのコンテキストは必要ありません。 –