pichillilorenzo / flutter_inappwebview

A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window.
https://inappwebview.dev
Apache License 2.0
3.01k stars 1.33k forks source link

When clicking back on Android #2121

Open hpodong opened 2 weeks ago

hpodong commented 2 weeks ago

Environment

Technology Version
Flutter version 3.19.4
Plugin version 6.0.0
Android version 31
iOS version
macOS version
Xcode version
Google Chrome version

Device information:

Description

When you press back on Android, the page before the post page should appear, not the page you requested to post, but when you click back, the post page keeps appearing and you are redirected to the current page.

When you press back (await webViewCtr.goBack();), shouldOverrideUrlLoading does not work, so exception handling is not possible.

Expected behavior: When you press the back button, the previous page of the post page should appear.

Current behavior: When you press the back button, the post page keeps popping up and you are redirected to the current page.

Steps to reproduce

  1. This
  2. Than that
  3. Then Future _onWillPop() async{ final InAppWebViewController webViewCtr = InAppWebController.of(context).webViewCtr; if(await webViewCtr.canGoBack()) { await webViewCtr.goBack(); return false; } else { _closeTimer?.cancel(); if(_canClose) return true; _canClose = true; setState((){}); showToast("뒤로가기 버튼을 한번 더 누르면 앱이 종료됩니다."); _closeTimer = Timer.periodic(const Duration(seconds: 2), (timer) { _canClose = false; setState((){}); }); return false; } }
github-actions[bot] commented 2 weeks ago

👋 @hpodong

NOTE: This comment is auto-generated.

Are you sure you have already searched for the same problem?

Some people open new issues but they didn't search for something similar or for the same issue. Please, search for it using the GitHub issue search box or on the official inappwebview.dev website, or, also, using Google, StackOverflow, etc. before posting a new one. You may already find an answer to your problem!

If this is really a new issue, then thank you for raising it. I will investigate it and get back to you as soon as possible. Please, make sure you have given me as much context as possible! Also, if you didn't already, post a code example that can replicate this issue.

In the meantime, you can already search for some possible solutions online! Because this plugin uses native WebView, you can search online for the same issue adding android WebView [MY ERROR HERE] or ios WKWebView [MY ERROR HERE] keywords.

Following these steps can save you, me, and other people a lot of time, thanks!