Closed
Description
Steps to Reproduce
Setup url scheme for both ios and android, on android without the host data and on ios like normal:
Android:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="somescheme" />
</intent-filter>
ios:
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.scheme.app</string>
<key>CFBundleURLSchemes</key>
<array>
<string>somescheme</string>
</array>
</dict>
</array>
After setup, try to launch the app on both platform with the scheme like this:
somescheme://search
You'll see that the search part is ignored.
If we try to launch the app like this:
somescheme://blabla/search
It will work!
Expected results: URL schemes should work out of the box with no issues, without ignoring the first URL section.
Actual results: Flutter ignores the first URL section when launching the app from a url scheme.
Flutter doctor
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-x64, locale en-IL)
• Flutter version 2.10.3 at /Users/naamapps/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 7e9793dee1 (3 weeks ago), 2022-03-02 11:23:12 -0600
• Engine revision bd539267b4
• Dart version 2.16.1
• DevTools version 2.9.2
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/naamapps/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2020.3)
• 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 11.0.10+0-b96-7281165)
[✓] VS Code (version 1.65.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.36.0
[✓] Connected device (2 available)
• SM G998B (mobile) • R5CR214C1LM • android-arm64 • Android 12 (API 31)
• Chrome (web) • chrome • web-javascript • Google Chrome 99.0.4844.83
[✓] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
This will be done in series of three prs:
- Migrate Android and iOS to pushRouteInformation method Migrate iOS and Android to use pushRouteInformation engine#39372
- Update pushRouteInformation method framework binding to be able to handle route strings in both original and entire uri format Implement url support for RouteInformation and didPushRouteInformation #119968
- Update Android and iOS to send entire uri through pushRouteInformation