Запрос с 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?