InAppWebView(
initialUrlRequest: URLRequest(
url: Uri.parse(
‘점촌포항구룡포과메기 | 카카오맵’),
),
initialOptions: InAppWebViewGroupOptions(
crossPlatform: InAppWebViewOptions(
javaScriptEnabled: true,
javaScriptCanOpenWindowsAutomatically: true,
useShouldOverrideUrlLoading: true,
useShouldInterceptFetchRequest: true,
),
),
onWebViewCreated: (controller) {
_webViewController = controller;
},
onLoadResourceCustomScheme: (controller, url) async {
await controller.stopLoading();
return null;
},
shouldOverrideUrlLoading: (controller, navigationAction) async {
if (!navigationAction.isForMainFrame) {
await controller.stopLoading();
}
var uri = navigationAction.request.url;
if (uri != null && uri.scheme == 'intent') {
// 인텐트 URL 직접 처리
if (await canLaunchUrl(uri)) {
await launchUrl(uri);
} else {
print("Can't launch the intent url $uri");
}
// 웹뷰에서는 추가 로딩을 하지 않도록 설정
return NavigationActionPolicy.CANCEL;
}
// 다른 URL들은 웹뷰에서 계속 로딩
return NavigationActionPolicy.ALLOW;
},
onLoadStop: (InAppWebViewController controller,
Uri? url) async {},
onCreateWindow:
(controller, createWindowRequest) async {
// 팝업 요청을 처리합니다.
return true;
},
// ... 기타 콜백 함수 ...
),
이런 코드가 있습니다. 해당 코드로 intent://place?id=735109422&infoLevel=2&referer=mplaceweb#Intent;scheme=kakaomap;package=net.daum.android.map;end; 이런 인텐트 이동을 웹뷰에서 하고 싶은데. 로그를 보면 I/UrlLauncher(23386): component name for intent://place?id=735109422&infoLevel=2&referer=mplaceweb#Intent;scheme=kakaomap;package=net.daum.android.map;end; is null
I/flutter (23386): Can’t launch the intent url intent://place?id=735109422&infoLevel=2&referer=mplaceweb#Intent;scheme=kakaomap;package=net.daum.android.map;end; 이런 로그가 남아있어요.
버전은 flutter_inappwebview: ^5.8.0입니다.
혹시 어떤 것이 원인인지 알 수 있을까요?