美文网首页
Android Deeplink(二)

Android Deeplink(二)

作者: 在岁月中远行 | 来源:发表于2023-05-20 19:01 被阅读0次

1 DeepLink的实现思路

在Android开发中,可以通过在清单文件中配置scheme来实现页面跳转,所以可以通过scheme匹配的方式来实现DeepLink的功能。配置方式大概分为三种:

1.1 为每一个要跳转的Activity都指定一个对应的匹配条件,一般项目复杂页面太多的话,就比较麻烦不太方便。

1.2 配置闪屏页为匹配页面,闪屏页一般都是APP冷启动时才会出现,而且打开首页后,闪屏页就会关闭,这种方式在APP没有启动的情况下可以很好的处理对应的Inteng信息,但是如果APP已经启动过了,去拉起闪屏页就不合理了。

1.3 配置首页为匹配页面,首页在APP中一般都是常驻的,一般情况下首页关闭就意味着APP的退出,所以可以选择用首页来统一处理匹配scheme得到的Intent信息,然后进行统一的跳转分发(需要将首页Activity的启动模式设置为singleTask以防止首页创建多个页面)

2 DeepLink的实现案例

在首页的onCreate方法和onNewIntent方法里面,接收Intent参数进行相应的跳转处理:

上述两个步骤就可以实现deeplink的效果了,可以在as的终端输入命令:

如果有多个参数,&符号之前要加\进行转义,否则后面的参数接收不到。

但是在上面还有个问题,那就是在APP还没启动的情况下,由于直接拉起的是首页页面,并没有经过闪屏页(如果APP已经启动过了,不需要走闪屏页,直接走首页然后进行相应跳转是没有问题的)。这里主要的解决方案就是记录一个是否经过闪屏启动的一个标志位就行,如果是就正常处理,如果不是就要重新打开闪屏页。

1 在闪屏页面跳转到首页时,在Intent中传递一个标志位,以代表闪屏页已经启动过了。

2 在首页页面中获取IS_SPLASH_LUNCH的值来判断闪屏页面是否已经启动过,如果为true不进行特殊处理,如果为false就关闭首页并开启闪屏页,还要传递uri数据给闪屏页。

相关文章

  • Deeplink使用

    一:deeplink DeepLink: 深度链接技术,主要应用场景是通过Web页面直接调用Android原生ap...

  • Android Deeplink跳转失败问题修复

    Android Deeplink实现 在Android中,Deeplnk通过声明Activity的intent-f...

  • Android DeepLink

    如果要在Android中实现DeepLink, 我推荐使用Airbnb的开源库。(Airbnb真是开源界的大佬)D...

  • Android Gradle 实战之自动生成DeepLink配置

    1.引言 android的deeplink 在项目中运用十分广泛,之前的一个项目大量使用deeplink。每完成一...

  • DeepLink

    一、Intent基础 二、DeepLink基础 实现方式1:(DeepLink为Uri格式) 实现方式2:(Dee...

  • Android Deeplink探究

    移动端深度链接,简称deeplink。这是一种通过uri链接到app特定位置的一种跳转技术,不单是简单地通过网页、...

  • Android DeepLink 技术

    DeepLink 是什么 DeepLink 从字面意思可以理解为「深度链接」,那么 DeepLink 在 Andr...

  • Web端向App端导量神技Deferred DeepLink的实

    1.什么是DeepLink 2.什么是Deferred DeepLink 3.Deferred DeepLink的...

  • DeepLink

    DeepLink 深度链接 什么是DeepLink DeepLink,又称深度链接、调起链接,是一套链接服务,用户...

  • Android DeepLink vs AppLink

    一、概念 1. 介绍 DeepLink与AppLink,本质上都是基于Intent框架,使App能够识别并处理来自...

网友评论

      本文标题:Android Deeplink(二)

      本文链接:https://www.haomeiwen.com/subject/twsosdtx.html