如何为同一活动设置两个不同的意图过滤器?

时间:2016-06-21 14:48:38

标签: android intentfilter

您好我将两个不同的应用程序集成到我的应用程序中。其中一个是fitbit,另一个是pinterest。我的问题是在身份验证后从浏览器重定向时,我无法处理意图过滤器。这是我的代码。

<activity
            android:name=".DashboardActivity"
            android:label="@string/title_activity_dashboard" />
        <activity
            android:name=".IntegrateActivity"
            android:label="@string/title_activity_link_apps"
            android:launchMode="singleTask">
            <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:scheme="Link" />
                <data android:host="redirect.html" />
            </intent-filter>
            <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:scheme="pdkMYID" />
            </intent-filter>
        </activity> 

只有第一个过滤器正常工作。有人提前知道如何处理这个问题。

1 个答案:

答案 0 :(得分:1)

我认为你想要的实际上并不是多个过滤器,而是支持多个模式。

<activity
    android:name=".IntegrateActivity"
    android:label="@string/title_activity_link_apps"
    android:launchMode="singleTask">
    <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:scheme="Link" />
        <data android:scheme="pdkMYID" />
    </intent-filter>
</activity> 

匹配任何这些架构的方式都会重定向到您的Activity。