fluttercommunity / fluttercommunity/flutter_webview_plugin

Back button functionality stops working after using stopLoading()

Aperta
#526 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Java
Stelle
1.5k
Fork
938
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Riproduci il comportamento di Android usando il listener onStateChanged dell’issue e la chiamata a stopLoading(), quindi traccia l’implementazione Android di stopLoading e i callback di stato di WebView. Verifica come si comportano la cronologia di navigazione e la gestione del pulsante Indietro dopo l’arresto di un caricamento. Il lavoro è completato quando l’arresto dell’URL selezionato non fa più sì che il pulsante Indietro segnali ripetutamente la stessa pagina.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, flutter, java
Ambito
mobile-dev
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
43/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.