Запрос с Retrofit2 с использованием мульти-сети API

Я пытаюсь сделать запрос, который должен быть сделан через мобильные соединения, если пользователь позволяет это. В настоящее время я использую retrofit2 с rxjava для запросов, хотя всякий раз, когда у пользователя есть соединение Wi-Fi и Mobile, единственный способ выбрать мобильную сеть для отправки запроса без дополнительных разрешений для изменения сети выглядит следующим образом:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkRequest.Builder req = new NetworkRequest.Builder();
            req.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
            cm.requestNetwork(req.build(), new ConnectivityManager.NetworkCallback() {

                @Override
                public void onAvailable(Network network) {
                   //do the request here
                }

            });
  }

Есть ли способ использовать модернизацию с использованием многосетевого API или передачи NetworkRequest, как представлено выше?

Или только сделать запрос вручную, используя OkHttp или URLConnection?

0 ответов

Другие вопросы по тегам