在Android中,如何在浏览器中打开应用程序

时间:2013-05-08 06:01:10

标签: android browser

假设我有一个网页,我在Android设备上的浏览器中加载该页面。我期望的是,当我点击网页上的按钮时,可以打开一个应用程序。

有没有办法做到这一点?非常感谢。

4 个答案:

答案 0 :(得分:0)

如果您可以选择自定义相关应用,则可以为特定的URI方案添加Intent Filter,该方案对您的应用而言是唯一的。然后,在网页按钮的点击事件中,使用此URI方案启动您的应用。

例如,Google Play使用market://计划通过链接打开Goog​​le Play应用。

答案 1 :(得分:0)

使用IntentFilter s有可能.. 查出以下代码: -

<intent-filter>
    <data android:scheme="**myapp**" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" /> <--Not positive if this one is needed
    ...
</intent-filter>

现在您可以像myapp://

一样启动您的应用

答案 2 :(得分:0)

您可以使用<intent-filter> <data>来实现此目的。 例如,要处理到sample.com的所有链接,您可以将它放在AndroidManifest.xml中:

    <intent-filter>
    <data android:scheme="http" android:host="sample.com"/>
    <action android:name="android.intent.action.VIEW" />
</intent-filter>

Felix

here很好地解释了这一点

希望这可以帮助你...

答案 3 :(得分:0)

你可以使用getIntent()。getData()返回一个Uri对象。然后,您可以使用Uri。*方法提取所需的数据。例如,假设用户点击了http://twitter.com/status/1234的链接:

Uri data = getIntent().getData();
String scheme = data.getScheme(); // "http"
String host = data.getHost(); // "twitter.com"
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1); // "1234"    

您可以在Activity中的任何位置执行上述操作,但您可能希望在onCreate()中执行此操作。您还可以使用params.size()来获取Uri中的路径段数。查看javadoc或android开发人员网站,了解可用于提取特定部分的其他Uri方法。