Repository navigation
[CB-10795] Exclude current app from external intent list - #154
Merged
Merged
Conversation
Member
|
LGTM |
Member
|
@dpolivy I know this has been quite some time ago, but there is a merge conflict now. Could you maybe resolve this? Thanks. |
On Android, if the app defines an intent-filter for a given URL, and then tries to use inappbrowser to launch that URL via the _system target, the default handler for that intent is the app itself. That behavior can lead to circular loops, and ultimately is not what the developer wants -- the link should be launched in a browser. Because there is no easy way to find the "default" system browser on a device, this solution will do two things: 1) Check if the app is one of the targets for this intent 2) If so, create a custom chooser with all other targets, excluding the current app. If the app is not a target, then the current (existing) behavior is preserved. Fixes https://issues.apache.org/jira/browse/CB-10795
Contributor
Author
|
@janpio Wow, totally didn't realize this was never merged. I just rebased the commit off master so it should be good to go. |
Contributor
Author
Member
|
It is now in the "Ready for Review" pile - some maintainer will have to have a look at it again before deciding this can be merged. As it already has a |
dpogue
approved these changes
Sep 20, 2018
EYALIN
pushed a commit
to EYALIN/community-cordova-plugin-inappbrowser
that referenced
this pull request
May 23, 2026
On Android, if the app defines an intent-filter for a given URL, and then tries to use inappbrowser to launch that URL via the _system target, the default handler for that intent is the app itself. That behavior can lead to circular loops, and ultimately is not what the developer wants -- the link should be launched in a browser. Because there is no easy way to find the "default" system browser on a device, this solution will do two things: 1) Check if the app is one of the targets for this intent 2) If so, create a custom chooser with all other targets, excluding the current app. If the app is not a target, then the current (existing) behavior is preserved. The only real "downside" to this approach is that a default handler can no longer be set for these URLs within the app, and a chooser will be shown each time the user taps a link that opens in a new browser. Fixes https://issues.apache.org/jira/browse/CB-10795
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Android, if the app defines an intent-filter for a given URL, and
then tries to use inappbrowser to launch that URL via the _system
target, the default handler for that intent is the app itself.
That behavior can lead to circular loops, and ultimately is not what the
developer wants -- the link should be launched in a browser.
Because there is no easy way to find the "default" system browser on a
device, this solution will do two things:
current app.
If the app is not a target, then the current (existing) behavior is
preserved.
The only real "downside" to this approach is that a default handler can no longer be set for these URLs within the app, and a chooser will be shown each time the user taps a link that opens in a new browser.
Fixes https://issues.apache.org/jira/browse/CB-10795