GitHub user dpolivy opened a pull request:
https://github.com/apache/cordova-plugin-inappbrowser/pull/154
[CB-10795] Exclude current app from external intent list
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
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dpolivy/cordova-plugin-inappbrowser CB10795
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-plugin-inappbrowser/pull/154.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #154
----
commit 00df83cbe4166c575173b1a4df3430ab41fa57c5
Author: Dan Polivy <[email protected]>
Date: 2016-03-09T17:19:11Z
[CB-10795] Exclude current app from external intent list
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
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]