Я использую com.loopj. android: android -asyn c -HTTP-библиотеку для HTTP-запроса. но иногда ответ приходит, а иногда нет. когда я переключаю inte rnet на WiFi (точка доступа jio), ответ не приходит и показывает исключение тайм-аута подключения. если я перезапущу, приходит ответ inte rnet. приложение уже в магазине игр. поэтому я не могу изменить эту библиотеку. пожалуйста, помогите мне.
private static AsyncHttpClient asyncHttpClient;
private static OFC_RestClient dmRestClient;
private final Context context;
public static OFC_RestClient getInstance(Context mContext) {
if (dmRestClient == null) {
dmRestClient = new OFC_RestClient(mContext);
}
return dmRestClient;
}
public OFC_RestClient(Context mContext) {
this.context = mContext;
if (asyncHttpClient == null) {
asyncHttpClient = new AsyncHttpClient(true,80,443);
// asyncHttpClient = new AsyncHttpClient();
}
}
public static AsyncHttpClient getAsyncHttpClient(Context context) {
//addHeadersToHttpClient(context);
asyncHttpClient.setTimeout(TIME_OUT_FOR_SERVICE_REQUEST);
return asyncHttpClient;
}
public void performHTTPGetRequest(final int requestCode, final String url, final RequestParams params, final OFC_NetworkCallback networkCallback) throws Exception {
getAsyncHttpClient(context).get(context, url, params, new OFC_AsyncHttpResponseHandler(requestCode, networkCallback, url, params.toString(), true));
}
public void performPostRequest(final int requestCode, final String url, final Object reqObject,
final OFC_NetworkCallback networkCallback) throws Exception {
if (android.os.Build.VERSION.SDK_INT >= 19){
getAsyncHttpClient(context).post(context, url, new StringEntity(reqObject.toString(), StandardCharsets.UTF_8), CONTENT_TYPE_APPLICATION_JSON, new OFC_AsyncHttpResponseHandler(requestCode, networkCallback, url, reqObject.toString(), false));
} else{
getAsyncHttpClient(context).post(context, url, new StringEntity(reqObject.toString(), HTTP.UTF_8), CONTENT_TYPE_APPLICATION_JSON, new OFC_AsyncHttpResponseHandler(requestCode, networkCallback, url, reqObject.toString(), false));
}
}
public void performFormDataPostRequest(final int requestCode, final String url, Header[] headers,
RequestParams params, final OFC_NetworkCallback networkCallback) throws Exception {
getAsyncHttpClient(context).post(context, url, headers, params, "multipart/form-data", new OFC_AsyncHttpResponseHandler(requestCode, networkCallback, url, params, false));
}
private static void addHeadersToHttpClient(Context context) {
try {
String authKey = "";
OFC_PrefsManager ofcPrefsManager = new OFC_PrefsManager(context);
if (ofcPrefsManager.hasKey(Prefs_Keys.AUTH_KEY)) {
authKey = ofcPrefsManager.get(Prefs_Keys.AUTH_KEY);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}```