如何使用离子中的意图打开另一个应用程序?

时间:2016-08-27 01:49:35

标签: android android-intent ionic-framework ionic2

我尝试了以下标记,但它没有做任何事情

<ion-header-bar class="bar-dark">
    <h1 class="title title-left">App Title</h1>
    <a class="button rate-me button-light" href="amzn://apps/here">Rate</a>
</ion-header-bar>

我想可能是因为没有安装处理意图的应用程序。所以,我尝试了以下标记:

<ion-header-bar class="bar-dark">
    <h1 class="title title-left">App Title</h1>
    <a class="button rate-me button-light" href="http://link-to/app/here">Rate</a>
</ion-header-bar>

然而,在我的Android设备上点击任何一个都没有任何反应。当我在浏览器中尝试应用程序时,我可以打开链接。我是否需要添加任何权限才能使其在Android上运行?

2 个答案:

答案 0 :(得分:0)

我认为最简单的方法是将target='_system'添加到<a>元素。 您还需要安装Cordova插件InAppBrowser(org.apache.cordova.inappbrowser)。

但请注意,如果缺少应用程序,它将打开系统Web浏览器。

这将打开系统Web浏览器中的URL,该URL向包管理器询问在其intent过滤器中使用URL方案的任何应用程序。 WebView不会单独执行此操作。如果您想在WebView中执行此操作,则需要覆盖shouldOverrideUrlLoading

我刚刚发现,自Cordova 3.4.0以来,InAppBrowser根本不处理<a>标签。请参阅:https://issues.apache.org/jira/browse/CB-6747所以您需要解决它。或者您可以在锚标记中指定onclick="window.open('http://link-to/app/', '_system')"

答案 1 :(得分:0)

步骤1:安装inappbrowser插件

plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

cordova plugin add org.apache.cordova.inappbrowser

步骤2:在视图中插入代码(html文件)

<a class="item" onclick='window.open("https://www.google.com", "_system", "location=yes"); return false;'>Rate</a>