我希望我的应用程序位于"打开"浏览器部分

时间:2016-12-17 11:59:41

标签: android

如果有人点击某个链接,则会显示'打开'你可以选择Firefox,Chrome ......' 如何将我的应用程序放在那里,如果有人点击我的应用程序名称...我的应用程序会启动一个包含此链接的参数。

对不起,如果这是错误的部分。

2 个答案:

答案 0 :(得分:1)

使用<intent-filter>

说明 指定活动,服务或广播接收器可以响应的意图类型。 intent过滤器声明其父组件的功能 - 活动或服务可以做什么以及接收器可以处理什么类型的广播。它打开组件以接收广告类型的意图,同时过滤掉对组件没有意义的组件。 过滤器的大多数内容都由其<action><category><data>子元素描述。

这是一个例子

<a href="http://stg.bbc.in/press-rel/abc.html">click me!</a>

AndroidManifest.xml看起来像这样:

 <activity
    android:name=".DashBoard"
    android:label="@string/title_activity_dash_board"
    android:exported="true"
    android:theme="@style/AppTheme.NoActionBar">
    <intent-filter>
        <data
            android:host="www.bbc.in"
            android:pathPrefix="/"
            android:scheme="https" />
        <data
            android:host="www.stg.bbc.in"
            android:pathPrefix="/"
            android:scheme="http" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

注意:意图标记的顺序可能会导致问题,因此请像上面那样使用

&#34;我建议您只使用该标记中的新子元素制作另一个<intent-filter>以避免出现问题&#34;看here

答案 1 :(得分:1)

您需要将以下 <intent-filter> 添加到清单文件中的活动(将在您的应用中打开)定义中。

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

<category android:name="android.intent.category.DEFAULT" /> 是可选的,仅用于使用默认意图。