在android中从单个活动实现深度链接

在android中从单个活动实现深度链接,android,indexing,deep-linking,Android,Indexing,Deep Linking,虽然我已经阅读了谷歌应用程序索引的相关文档 <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.D

虽然我已经阅读了谷歌应用程序索引的相关文档

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

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

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

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

但仍然有困惑,如果我想接收有关启动器活动的传入数据,并且从那里可以控制并启动相关活动/片段,这取决于对传入url的内部解析。

不太确定我是否理解您的提问,所以如果我没有回答您的问题,请纠正我

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

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
只有放置了意图过滤器的活动(或多个活动)才会捕获意图并启动。因此,如果只在一个活动中放置意图过滤器,则只有该活动才会启动,而其他任何活动都不会启动。您可以在同一活动中放置多个意图过滤器以捕获多个意图。您还可以使用url的路径段向活动发送更多信息,并在活动中对其进行解析

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

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
将以下内容放在清单中要启动的活动下(路径是可选的):

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

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

打开应用程序

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

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

然后使用
getIntent().getData()
获取启动活动的uri。然后,您可以解析uri以获取字符串。

将以下意图过滤器添加到要通过清单中的深度链接打开的活动中

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

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

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

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


然后根据您在活动中获得的意图数据,您也可以执行您的操作。

您必须在单独的
标记中声明操作、类别和数据,而不是在与启动器规范相同的标记中声明

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

                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
 <activity>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </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:host="your.domain.com"
            android:scheme="http" />
    </intent-filter>
</activity>


我想接收启动程序活动,这是在隐藏我的应用程序图标。我不明白,它在哪里隐藏你的图标?你确定你把意图过滤器放在了清单的正确位置,在活动标签里面吗?用这种方法,我的启动程序活动会打开两次