通过浏览器的地址栏中的URL打开我的应用,例如flipkart

时间:2015-04-20 12:26:50

标签: android google-play deep-linking android-app-indexing

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

<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或浏览器。

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

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

2 个答案:

答案 0 :(得分:1)

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

来自this answer

  

基本上,您需要做的是定义自己的方案。某物   沿着这条线:

<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方案开头的链接启动您的应用。

答案 1 :(得分:-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>