Я разрабатываю небольшое приложение, которое загружает веб-сайт с помощью HttpUrlConnection с помощью ASyncTask и сохраняет его в строку, а затем отображает содержимое в TextView нажатием кнопки. При необходимости пользователь может нажать другую кнопку и перенести содержимое в другое действие и использовать WebView для отображения указанного содержимого на нем.
Проблема, с которой я сталкиваюсь, заключается в том, что приложение может загружать контент на эмуляторе, но не на реальном портативном устройстве. Я поместил разрешение на использование Интернета в манифесте.
Уровень API AVD: 26
Уровень API реального устройства: 28
Разработка приложений/целевой API: 21
Пожалуйста, протестируйте его еще на одном устройстве!
@sam Спасибо! Это очень помогло, когда я использовал его на реальном устройстве, я обращался только к http.
Нет проблем, я добавлю это в ответ на случай, если это поможет кому-то еще в будущем. так что вы можете отметить это
Начиная с API 28 открытый текст HTTP больше не поддерживается по умолчанию. Вероятно, вы взаимодействуете с HTTP-контентом, и этого достаточно для уровня AVD 26.
Поэтому, чтобы исправить это, вы должны добавить в свой манифест следующее:
<application
...
android:usesCleartextTraffic = "true"
Это позволит вам продолжать поддерживать HTTP-трафик. Однако, если вы пойдете по этому пути, вы должны знать о рисках безопасности и потенциально использовать файл конфигурации сети, чтобы ограничить целевые домены, с которыми вы взаимодействуете, с далеко не идеальной безопасностью.
вы ссылаетесь на http вместо контента https? если это так, вам нужно разрешить открытый текст в вашем манифесте с API 28.