Я пытаюсь сделать два запроса, когда пользователь нажимает кнопку. Однако запрос может занять некоторое время.
Когда пользователь находится в режиме экономии заряда батареи и экраны блокируют его устройство, пока запрос все еще выполняется, запрос не будет выполнен и выдаст исключение тайм-аута сокета.
Я сделал пример проекта, чтобы попробовать это, и вы можете найти его здесь.
Я использую модификацию и RxJava, чтобы делать такие запросы:
networkFactory.request()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ result -> Log.d("TAG", "The value is this $result") },
{ error -> Log.e("TAG", "Ohoh an error ${Log.getStackTraceString(error)}")
})
Мой запрос networkFactory():
fun request(): Observable<Doc> {
return service.request(API_KEY)
}
со следующим интерфейсом:
@GET("articlesearch.json")
fun request(@Query("api-key") apiKey : String) : Observable<Doc>
Я делаю что-то не так здесь?
When the user is on battery save mode
кажется более строгим, остальное я не уверен на 100% - person Pavneet_Singh   schedule 20.07.2017