从chrome启动我的应用程序

时间:2014-03-19 12:48:08

标签: android

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

3 个答案:

答案 0 :(得分:1)

他们在清单中注册接收器

<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>

其中scheme可以是http,host可以是网站,path可以是文件夹或其他内容

示例:

<intent-filter>
            <data android:scheme="http" android:host="site.something" android:path="aPath"/>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
当您访问网站http://site.something/aPath

时会触发

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

答案 1 :(得分:1)

你可以通过让你的活动可浏览,你需要在你的清单文件中添加以下代码来实现这一目标

<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>

并且只要点击包含http://host.com/的任何链接,android就会将您的应用程序显示为可以打开此链接的选项之一。而已。

答案 2 :(得分:0)

在网页上有一个脚本可以检测操作系统平台并显示一个弹出窗口以打开Goog​​le Play。 在应用程序中,您必须注册IntentFilter(在清单中),这会导致您对网页进行URL拦截,因此,当您单击某个链接时,系统会询问您是否更喜欢使用应用程序或使用浏览器打开它。