2
Retrofit 2에서 인터넷 연결 오류를 검색하려면 어떻게합니까?Retrofit 2에서 '인터넷 연결 없음'오류가 발생했습니다.
Retrofit 1에서 수행 한 작업은 클라이언트 인터페이스를 구현하고 실행 (요청 요청)시 연결 확인을 수행하는 것입니다. 내가 개조 2 시도 무엇
는입니다 :
public class RequestInterceptor implements Interceptor {
final ConnectivityManager connectivityManager;
@Inject
public RequestInterceptor(ConnectivityManager connectivityManager) {
this.connectivityManager = connectivityManager;
}
@Override
public Response intercept(Chain chain) throws IOException {
if (isConnected()) {
throw new OfflineException("no internet");
}
Request.Builder r = chain.request().newBuilder();
return chain.proceed(r.build());
}
protected boolean isConnected() {
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnectedOrConnecting();
}
}
내가 아니라 오류가 OnFailure의 매개 변수로 반환됩니다 비동기와 (try-catch 블록을 추가하여 동기 개조 실행과 그것을 잡을 수 있어요 통화 호출, Throwable t). 응용 프로그램은 단지 OfflineException과 충돌, 나는 요격기를 던져.
을 상속한다. 'chain.proceed (chain.request()) '를 호출하면된다. –
@awonderer -이 방법은 네트워크 연결을 확인하거나 인터넷 연결을 확인합니다. –