Je suis en train d'utiliser la fonction suivante pour vérifier la connexion réseauVérifiez la connexion réseau à Observable avant d'effectuer des appels API
private boolean isThereInternetConnection() {
boolean isConnected;
ConnectivityManager connectivityManager =
(ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
isConnected = (networkInfo != null && networkInfo.isConnectedOrConnecting());
return isConnected;
}
Ensuite, appelez avant moi appels API comme:
public Observable<UserEntity> userEntity(int page) { return Observable.create(new Observable.OnSubscribe<UserEntity>() {
@Override
public void call(Subscriber<? super UserEntity> subscriber) {
if (isThereInternetConnection()) {
// I want to return:
return mUserApi.UserEntity(items,page);
// in:
subscriber.onNext()
} // otherwise return no internet connection message
}
});
l'esprit que mUserApi.UserEntity(items,page);
est un appel à l'interface objet observable retours comme:
@GET("/user")
Observable <UserEntity> UserEntity(@Query("user_ids") String user_id, @Query("page") int page);
pour plus de détails, a fait vous ajoutez l'autorisation "état du réseau" dans le manifeste? – Context