У меня проблема с возвратом значения после того, как я вызываю Службу из Бэкэнда, это Строка, которую я получаю от Службы, и после того, как я вызываю эту Службу, я хочу, чтобы этот метод возвратил мне эту строку
Я попытался сохранить его в переменной, сохранив его в sharedpreference, но он всегда возвращает мне пустую строку.Тем не менее, когда я регистрирую результат, полученный от службы, я вижу, что он возвращает мне то, что я хочу, но я хочу, чтобы метод затем возвращал мне этот результат
fun getExchangePortalToken(): String {
//I want this variable to be the value of the String i get from the Service and to return it afterwards
var token = ""
compositeDisposable!!.add(apiServicePortal!!.getExchangeToken(basic, "casopenid-bearer", idToken)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object: DisposableSingleObserver<Response<ResponseBody>>(){
override fun onSuccess(value: Response<ResponseBody>?) {
Log.d("EXCHANGE_PORTAL", "SUCCESS")
val string = value!!.body()!!.string()
val obj = JSONObject(string)
var access_token = obj.getString("access_token")
//Here im setting the value of the string based on the Result i get from the service
token = access_token
}
override fun onError(e: Throwable?) {
Log.d("EXCHANGE_PORTAL", e!!.message)
token = "ERROR"
}
}))
return token
}