Description
Plugin version:
url_launcher: ^6.3.1
Platform version:
Android 15 (API level 34, Developer Preview or Beta)
Issue:
When launching a webpage using url_launcher in LaunchMode.inAppWebView, the bottom part of the web content gets clipped or hidden behind the system gesture navigation bar on Android 15. This causes UI elements like "Accept Cookies" or "Reject" buttons (commonly displayed in sticky footers on websites) to be inaccessible or partially visible.
Steps to reproduce:
Launch a Flutter screen that uses url_launcher to open a webpage in an in-app web view:
Code:
-
launchUrl(
Uri.parse('https://example.com'),
mode: LaunchMode.inAppWebView,
); -
Run the app on a device or emulator running Android 15.
-
Observe that the website renders, but the bottom UI (e.g., cookie banners) is partially hidden under the system gesture bar.
Expected results
The web content should respect system UI insets and padding.
Bottom elements such as cookie banners or sticky buttons should be fully visible and tappable.
Actual results
Web content does not fully respect safe area insets.
Bottom elements are clipped or obstructed by Android's gesture navigation system.
Code sample
Code sample
launchUrl(
Uri.parse('https://example.com'),
mode: LaunchMode.inAppWebView,
);
Screenshots or Video
Logs
Logs
[Paste your logs here]
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.29.3, on macOS 14.6.1 23G93 darwin-x64, locale en-IN) [937ms]
• Flutter version 3.29.3 on channel stable at /Users/arutiwar4/FlutterSDK/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ea121f8859 (9 weeks ago), 2025-04-11 19:10:07 +0000
• Engine revision cf56914b32
• Dart version 3.7.2
• DevTools version 2.42.3
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [4.1s]
• Android SDK at /Users/arutiwar4/Library/Android/sdk
• Platform android-35, build-tools 35.0.0
• ANDROID_HOME = /Users/arutiwar4/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.1) [2.4s]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16B40
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [35ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.1) [34ms]
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
[✓] VS Code (version 1.96.4) [31ms]
• VS Code at /Users/arutiwar4/Downloads/Sdk/Visual Studio Code.app/Contents
• Flutter extension version 3.102.0
[✓] Connected device (3 available) [7.9s]
• iPhone 15 (mobile) • 06D40C13-8A36-43B5-9A88-4C0C9B565AB1 • ios • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
• macOS (desktop) • macos • darwin-x64 • macOS 14.6.1 23G93 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 137.0.7151.69
[✓] Network resources [8.8s]
• All expected network resources are available.
• No issues found!