인프런 커뮤니티 질문&답변

조욱희님의 프로필 이미지
조욱희

작성한 질문수

Flutter 앱 개발 기초

좋아요 사진 기기에 저장하기

북스토어 프로젝트에서 질문이 있습니다.

해결된 질문

작성

·

178

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

DevStory님의 프로필 이미지
DevStory
지식공유자

안녕하세요 조욱희님

위에 제보해주신 문제는 Google Book API에서 넘겨준 대부분의 URL 주소가 http로 시작하는데, Android API 27 이하에선 기본적으로 http 프로토콜도 호출할 수 있지만, 그 이상의 버전에선 추가 설정을 해주어야 http 프로토콜을 호출할 수 있기 때문에 발생하는 문제로 확인 되었습니다. 이와 관련한 공식 문서를 링크를 참고해주세요.

해결 방법은 아래 코드를 android → app → src → main → AndroidManifest.xml에 추가해주시면 됩니다.

android:usesCleartextTraffic="true"

자세한 위치는 아래 이미지를 참고해주세요.
 

그 외에 url_launcher는 말씀해 주신 코드 그대로 사용하시면 됩니다.
수업 자료도 바로 업데이트 해두도록 하겠습니다.

제보 감사합니다 :)

조욱희님의 프로필 이미지
조욱희
질문자

다 고쳐도 작동 되지 않더니 에뮬레이터 연결을 완전히 끊었다가 다시 연결하니 정상적으로 되고 있습니다. 앓던 이가 빠진 것처럼 시원합니다. 감사합니다. 

DevStory님의 프로필 이미지
DevStory
지식공유자

네이티브 코드를 수정하는 경우 처음부터 다시 실행해야 합니다.
미리 말씀드렸어야 했는데 깜빡했네요 😅
잘 해결되셔서 다행입니다 :)

조욱희님의 프로필 이미지
조욱희

작성한 질문수

질문하기