해결된 질문
작성
·
182
1
문제가 생겼는데 제 힘으로 풀 수 없어 문의를 남깁니다. 도움 바랍니다.
지금 url_launcher 버전이 6.1.2입니다. launch() 함수가 폐기되었고, launchUrl()을 쓰라고 합니다. 하지만 이 함수는 인수로 book.previewLink를 직접 받지 않는다 합니다. 그래서 코드를 다음과 같이 바꾸었습니다.
Uri url = Uri.parse(book.previewLink);
launchUrl(url);
이를 실행했더니 다음과 같은 경고가 뜹니다.
Webpage not available ..... net::ERR_CLEARTEXT_NOT_PERMITTED
1. launchUrl()함수를 바르게 사용한 것 맞나요?
2. 웹페이지를 가져올 수 없다는 경고는어떻게 해결할까요?
답변 1
0
안녕하세요 조욱희님
위에 제보해주신 문제는 Google Book API에서 넘겨준 대부분의 URL 주소가 http로 시작하는데, Android API 27 이하에선 기본적으로 http 프로토콜도 호출할 수 있지만, 그 이상의 버전에선 추가 설정을 해주어야 http 프로토콜을 호출할 수 있기 때문에 발생하는 문제로 확인 되었습니다. 이와 관련한 공식 문서를 링크를 참고해주세요.
해결 방법은 아래 코드를 android → app → src → main → AndroidManifest.xml에 추가해주시면 됩니다.
android:usesCleartextTraffic="true"
자세한 위치는 아래 이미지를 참고해주세요.
그 외에 url_launcher는 말씀해 주신 코드 그대로 사용하시면 됩니다.
수업 자료도 바로 업데이트 해두도록 하겠습니다.
제보 감사합니다 :)
다 고쳐도 작동 되지 않더니 에뮬레이터 연결을 완전히 끊었다가 다시 연결하니 정상적으로 되고 있습니다. 앓던 이가 빠진 것처럼 시원합니다. 감사합니다.