1

我编写了一个简单的 Android 应用程序并添加了一个像这样的意图过滤器:

<intent-filter>
    <data android:scheme="http" android:host="www.somesite.com" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

现在,当我单击另一个应用程序(如 GMail)的链接时,我会看到一个对话框:选择运行的应用程序:MyApp 或浏览器。

但是当我在浏览器的地址栏中输入这个 URL 时,它只会打开一个站点。

如何设置我的应用程序,如 Google Play、Google+、flipkart?(当我输入http://play.google.com/ - 我看到一个对话框 Google Play 应用程序或浏览器)

4

2 回答 2

1

都是关于广播和意图的!这个想法是您的应用程序在清单中声明它可以接收某些消息。

这个答案

基本上,您需要做的是定义自己的方案。类似于以下内容:

<intent-filter>
    <data android:scheme="anton" />
    <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>

然后您应该能够使用以 anton: URI 方案开头的链接启动您的应用程序。

于 2015-04-20T12:35:06.237 回答
-1

将此源添加到清单文件中

添加以下内容解决了该问题:

所以意图过滤器看起来像:

<intent-filter>
            <action android:name="android.intent.action.VIEW"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
            <data android:host="example.com"> </data>
            <data android:scheme="https"></data>
            <data android:pathPattern=".*"></data>
</intent-filter>
于 2015-04-20T12:47:43.017 回答