我正嘗試在我的應用中使用推送通知。我已完成工作,但現在我需要將已刷新的Firebase標記發送到我自己的服務器,但我不知道如何在活動/片段的上下文之外使用rxjava2/retrofit2方法。我如何訪問它?如何從服務類別調用webserive
我來源:
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調用。 – MAOL
那麼,我猜REST服務調用不需要Activity/Fragment –