Android 从chrome启动我的应用程序

Android 从chrome启动我的应用程序,android,Android,我看过一些网站,如果他们在我的手机上安装了一个应用程序,如果我加载了那个网站,我可以选择打开那个应用程序。这是如何实现的,因为我想把它放到我的应用程序中。在网页上有一个脚本,可以检测操作系统平台并显示一个弹出窗口来打开Google Play。 在应用程序中,您必须注册导致网页URL截获的IntentFilter(在清单中),因此,当您单击某个链接时,系统将询问您是否希望使用应用程序或浏览器打开它。他们在清单中注册接收者,就像这样 <intent-filter>

我看过一些网站,如果他们在我的手机上安装了一个应用程序,如果我加载了那个网站,我可以选择打开那个应用程序。这是如何实现的,因为我想把它放到我的应用程序中。

在网页上有一个脚本,可以检测操作系统平台并显示一个弹出窗口来打开Google Play。
在应用程序中,您必须注册导致网页URL截获的IntentFilter(在清单中),因此,当您单击某个链接时,系统将询问您是否希望使用应用程序或浏览器打开它。

他们在清单中注册接收者,就像这样

<intent-filter>
            <data android:scheme="" android:host="" android:path=""/>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
将在您访问该网站时触发


您需要将这段代码添加到请求URL时应打开的活动中

您可以通过使活动可浏览来完成此操作,您需要在menifest文件中添加以下代码

<activity
            android:name=".YourActivityName"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

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

        </activity>

将被单击,然后android将显示您的应用程序作为可以打开此链接的选项之一。就这样

谢谢,所以
/news
可以加载
NewsActivity
,而
/contact
可以加载
ContactActivity
我只需要为我要加载的每个URL设置一个单独的意向过滤器?是的,这是绝对可能的。您声明了一个带有
/news
意图过滤器的
NewsActivity
,以及一个带有
/contact
意图过滤器的
ContactActivity
刚刚添加了此代码,它没有给我选择器,但我注意到这一点的第一个站点也没有。你知道吗?如果没有显示选择器,我不认为你可以在Chrome中更改任何内容来显示选择器。只有当设备上的多个应用程序可以处理该意图时,才会显示选择器。如果只有一个应用程序可以处理该意图,则不会显示选择器。问题是我直接键入URL,而不是单击链接,一旦我单击了一个链接(在谷歌上),它要求我加载该链接并正常工作:)。
<activity
            android:name=".YourActivityName"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

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

        </activity>