fluttercommunity / fluttercommunity/flutter_webview_plugin

Back button functionality stops working after using stopLoading()

Đang mở
#526 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Java
Star
1.5k
Fork
938
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## System info

Issue occurs on: Android
Plugin version: ^0.3.7
Flutter doctor output:

```
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.17134.885], locale lt-LT)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.4)
[!] VS Code, 64-bit edition (version 1.24.1)
X Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (1 available)

! Doctor found issues in 1 category.
```

## Steps to Reproduce

I have simple webview app, that listens onStateChanged and tries to prevent url from loading:

```
void initOnStateChangedListener() {
flutterWebviewPlugin.onStateChanged.listen((onData) {
if (shouldStopThisUrlFromLoading(onData.url)) {
flutterWebviewPlugin.stopLoading();
}
});
}
```

After I stop url from loading back button functionality stops working and everytime I press it I get same logout output:
onUrlChanged: RealCaseWebsiteUrl!!
onStateChanged: RealCaseWebsiteUrl!! (WebViewState.finishLoad)
onUrlChanged:RealCaseWebsiteUrl!
onStateChanged: RealCaseWebsiteUrl! (WebViewState.finishLoad)

## Logs

[√] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.17134.885], locale lt-LT)
• Flutter version 1.7.8+hotfix.4 at C:\flutter
• Framework revision 20e59316b8 (4 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\saulius.nevys\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.

[√] Android Studio (version 3.4)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 38.2.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[!] VS Code, 64-bit edition (version 1.24.1)
• VS Code at C:\Program Files\Microsoft VS Code
X Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (1 available)
• EVA L19 • XVV7N16607006554 • android-arm64 • Android 7.0 (API 24)

! Doctor found issues in 1 category.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Tái hiện hành vi của Android bằng listener onStateChanged của issue và lệnh gọi stopLoading(), sau đó lần theo cách triển khai stopLoading trên Android và các callback trạng thái của WebView. Xác minh cách lịch sử điều hướng và việc xử lý nút quay lại hoạt động sau khi một lần tải bị dừng. Hoàn tất khi việc dừng URL đã chọn không còn khiến nút quay lại liên tục báo cáo cùng một trang.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
android, flutter, java
Lĩnh vực
mobile-dev
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
43/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.