如何使用自定义方案(Android)处理深度链接

如何使用自定义方案(Android)处理深度链接,android,deeplink,Android,Deeplink,我希望能够处理这样的深层链接: appnm://typeA/12 appnm://typeA/42 appnm://typeA/99 .... appnm://typeB/43 appnm://typeB/092 appnm://typeB/.... 我是否必须进行两项活动-A类和B类。或者我可以在一项活动中处理这两项活动? 例如,这是否有效: 数据类型:scheme=“appnm” android:host=“” android:pathPrefix=“/”/> 当我在手机上键入“http

我希望能够处理这样的深层链接:

appnm://typeA/12
appnm://typeA/42
appnm://typeA/99
....

appnm://typeB/43
appnm://typeB/092
appnm://typeB/....
  • 我是否必须进行两项活动-A类和B类。或者我可以在一项活动中处理这两项活动? 例如,这是否有效:

    数据类型:scheme=“appnm” android:host=“” android:pathPrefix=“/”/>

  • 当我在手机上键入“http://…”时,它会自动为我提供一个像链接一样输入的选项。但就我而言”appnm://...“没有。那么,如何使用自定义方案测试deeplink呢


  • 您可以添加mime类型,该类型将指定正在进行深度链接的数据类型。如果希望所有deeplinks都指向同一个活动,那么只需在该活动中使用uri方案声明意图过滤器。但是,声明mime类型可用于将不同类型的数据定向到不同的活动


    这是否澄清了您的疑问?

    您可以添加mime类型,以指定正在进行深度链接的数据类型。如果希望所有deeplinks都指向同一个活动,那么只需在该活动中使用uri方案声明意图过滤器。但是,声明mime类型可用于将不同类型的数据定向到不同的活动

    这是否澄清了您的疑问?

    Library by
    airbnb
    将帮助您处理所有自定义URL

    介绍了如何使用,在库页上的library by
    airbnb
    将帮助您处理所有自定义URL


    的图书馆页面上解释了如何使用,请查看此帖子这是否回答了您的问题?是的,谢谢,我在搜索中没有看到此帖子。然而,我仍然不确定我的第一个问题。我需要使用两个活动还是一个?(A型和B型)看看这篇文章这能回答你的问题吗?是的,谢谢,我在搜索中没有看到那篇文章。然而,我仍然不确定我的第一个问题。我需要使用两个活动还是一个?(typeA和typeB)但据我所知,mime类型表示某种特定类型的数据(图像、音频等)。我在这里怎么用?我需要知道链接是否为
    appnm://typeA/...
    appnm://typeB/...
    这样我就知道在应用程序启动时打开哪个片段了。谢谢。当您的活动在收到URI方案时被触发时,您可以获得触发器的数据,如:Intent Intent=getIntent();Uri data=intent.getData();这可以帮助您区分触发器并根据我知道的情况启动不同的活动,但是我如何处理清单中的案例?我是否可以只键入不带主机和路径前缀的android:scheme=“appnm”?谢谢您还可以为意图过滤器设置其他属性,即:
    android:path
    android:path prefix
    您可以参考此开发人员页面,为不同的路径前缀设置不同的意图过滤器可能就可以了!你的最终目标是什么?如果希望两个不同的主机转到同一活动,可以在同一活动中声明两个意图筛选器(如果可以接受的话,也可以根本不声明主机)。如果希望不同的主机转到不同的活动,可以为每个活动创建单独的意图过滤器,为每个活动指定不同的主机。但据我所知,mime类型表示某种特定类型的数据(图像、音频等)。我在这里怎么用?我需要知道链接是否为
    appnm://typeA/...
    appnm://typeB/...
    这样我就知道在应用程序启动时打开哪个片段了。谢谢。当您的活动在收到URI方案时被触发时,您可以获得触发器的数据,如:Intent Intent=getIntent();Uri data=intent.getData();这可以帮助您区分触发器并根据我知道的情况启动不同的活动,但是我如何处理清单中的案例?我是否可以只键入不带主机和路径前缀的android:scheme=“appnm”?谢谢您还可以为意图过滤器设置其他属性,即:
    android:path
    android:path prefix
    您可以参考此开发人员页面,为不同的路径前缀设置不同的意图过滤器可能就可以了!你的最终目标是什么?如果希望两个不同的主机转到同一活动,可以在同一活动中声明两个意图筛选器(如果可以接受的话,也可以根本不声明主机)。如果希望不同的主机转到不同的活动,可以为每个活动创建单独的意图筛选器,为每个活动指定不同的主机