API 30. Не получается подключиться по HTTP

Есть таска, которая грузит файл из URL. Проблема в том, что не получается подключиться по HTTP только в Android 11. На других API код работает корректно.

class Download extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... voids) {
        InputStream input = null;
        HttpURLConnection connection = null;
        Log.i("LOG", "Созданы переменные");
        try {
            URL url = new URL("ссылка");
            connection = (HttpURLConnection) url.openConnection();
            connection.connect();
            Log.i("LOG", "Подключен успешно");

            int fileLength = connection.getContentLength();
            Log.i("LOG", "Длина файла: " + fileLength + " байт");

            input = connection.getInputStream();
            Log.i("LOG", "Создан входящий поток");
            BufferedInputStream bis = new BufferedInputStream(input);
            Log.i("LOG", "Файл в буфере");
        } catch (Exception e) {
            Log.i("LOG", "Ошибка подключения");
        } finally {
            try {
                if (input != null)
                    input.close();
            } catch (IOException ignored) {
            }

            if (connection != null)
                connection.disconnect();
        }
        Log.i("LOG", "Таска закончена");
        return null;
    }
}

Ответы (1 шт):

Автор решения: Wlad

Попробуйте в Манифесте приложения прописать

<application
    ....   
    android:usesCleartextTraffic="true"    
    ....>

Это ввели несколько версий Андроида назад, т.к. к сайтам без SSL защиты нет уже почти никакого доверия.

p.s. на Андроид 10 тоже не должно без него работать.

→ Ссылка