Android两个app间跳转-deepLink的使用

Android DeepLink原理与应用(2) 3.Android框架层如何实现DeepLink? 上一篇提到Android使用DeepLink跳转有两种方式:Intent跳转、WebView网页跳转。这篇研究一下Android框架如何实现DeepLink。以下Android源代码分析版本为Android7.1。 (1)Intent跳转 这其实是一个Intent filter + start Activity的过程,使用的Intent C 阅读详情

在开发过程中,经常会遇到两个app之间跳转、或者浏览器链接跳转app的需求,这里简单总结一下。

1.简单的从一个app跳转到另一个app

直接用intent就可以实现。
只要知道目标activity的包名和类名就可以直接跳转了。

/**
     * 方法1:intent的显式跳转
     */
    private fun jumpDemo2() {
        val intent = Intent()
        intent.component = ComponentName("com.example.demo2", "com.example.demo2.MainActivity")
        startActivity(intent)
    }

2.deepLink方式跳转

这种方式应用场景更广可以在浏览器或者网页中通过链接跳转到目标app并传递数据。
具体实现步骤如下:

  1. 配置目标activity的intent-filter
    配置activity中的host,scheme,pathPrefix。代码如下:
<activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <!-- deepLink 配置项-->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

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

                <data
                    android:host="com.example.demo2"
                    android:pathPrefix="/open"
                    android:scheme="deeplink" />
            </intent-filter>

        </activity>
  1. 生成link链接
    规则:{scheme}://{host}{pathPrefix}
    link: deeplink://com.example.demo2/open
    如果想传递参数的话用&连接
    deeplink://com.example.demo2/open?name=yao&age=20
    把拼接好的链接直接在跳转的地方用就ok,
    例如在h5中
<html>
<head>
    <meta name="meta_name" content="helloworld">
</head>
<body>
<a href="deeplink://com.example.demo2/open?name=yao&age=20">启动demo</a>
</body>
</html>
  1. 在目标activity中直接获取传递的数据即可
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        showMsg()
    }

    private fun showMsg() {
        intent.data?.run {
            tv_msg.text = "this is from demo1 data: " +
                    "\n host=${host}, \n scheme=${scheme}, " +
                    "\n params=${pathSegments}" +
                    "\n data:${this.toString().substring(this.toString().indexOf("?") + 1)}"
        }
    }
}

这样就实现了应用间跳转的问题。

【Android】DeepLink跳转简介 一、DeepLink的概念 DeepLink是将用户直接带到应用中特定内容的网址。在Android中,可以通过添加intent filters 并从传入的intent中提取数据来设置DeepLink,从而将 用户引导向正确的Activity。 当单击的链接或编程请求调用Web URI的intent时,Android系统将按顺序尝试以下每个操作,直到请求成功为止: 1.打开用户首选的可以处理URI的App(如果已指定)。 2.打开唯一可以处理URI的可用App。 3.允许用户从对话框中选择A 阅读详情

相关推荐

点击短信链接唤起Android App实战

在很多业务场景中,需要点击短信链接跳转到App的指定页面。在Android系统中,想要实现这个功能,可以通过DeepLink或AppLink实现。

xiangzhihong8的专栏 1396

Android Deep Links 深度链接解析

深层链接是指能够让用户直接进入应用中的特定部分的 URI,可采用任何架构。

特立独行的博客 4389

【题解】【中国大学MOOC】(北京大学)人工智能与信息社会考试——期末考试

1.在Alpha-Beta剪枝算法中,我们把一个结点可能取值的上界记作____值,下界记作____值。 编号 选项 A 以上都不对 B Beta,Alpha C Alpha,Beta D Max,Min 2.属于非完全信息博弈的游戏是 编号 选项 A 围棋 B 井字棋 C 军棋 D 黑白棋 3.图中的剪枝过程称为____剪枝 ...

葑鈊丶 1万+

DeepLink(浏览器点击链接跳转到app)

在AndroidManifest.xml中设置添加权限<uses-permission android:name="android.permission.INTERNET"/>在Activity中添加intent-filter <intent-filter> <action android:name="android.intent.action.

forward 1万+

时间序列分析:ARCH、GARCH、TGARCH与DCC-GARCH波动率模型(含代码)

关注TGARCH模型和DCC-GARCH的应用,通过在沪深300和中证500指数上应用TGARCH和DCC-GARCH模型,揭示这两个指数之间的条件异方差及动态相关性的变化规律。

celiaweiwei的博客 1万+

大模型-internvl高通qnn运行源码解读

模型链接:https://huggingface.co/OpenGVLab/InternVL2-2B论文官方简要说明 https://internvl.github.io/blog/2024-07-02-InternVL-2.0中文解读 https://zhuanlan.zhihu.com/p/702946079在线demo https://internvl.opengvlab.com/

点滴的岁月 1832

android 程序间跳转,Android 应用间跳转

关于跳转应用的方式URL Scheme(android / iOS)Android中又叫DeepLinksapplinks(android)/ Universal links(iOS)intent(android only,package related)其实,1、2都可以认为是广义上的scheme方式,只是applinks将scheme限定为"http/https"。原生App Links功能目...

weixin_39564036的博客 1060

使用Python实现深度学习模型:智能极端天气事件预测

在本项目中,我们成功利用Python和Keras库构建了一个基于LSTM的极端天气预测模型。通过时间序列数据,模型能够识别天气趋势并预测未来的极端天气事件。尽管这是一个简化的示例,但它为实际应用中如何利用深度学习进行天气预测提供了一个很好的基础。随着更精确的数据和更多的特征信息,类似的模型可以进一步扩展到其他极端事件预测上,如风暴预警、气象灾害评估等。

Echo_Wish 730

android 页面跳转_App跳转/深度链接黑科技:友盟+推出智能超链ULink

各个App原本就像大海中的一座座岛屿,虽然都生活在移动的海洋中(Android系统或iOS)但彼此并无再多往来。随着用户需求的不断调整,及技术的不断成熟,如何打破App孤岛,实现用户在多App间的跳转已成为移动互联网时代飞速发展的同时并行而至的技术难题。直到deeplink技术(即深度链接技术)的出现才打破了这一困局,这是一种无障碍场景还原技术,即当用户点击某个分享链接后,可以自动跳转到...

weixin_42412939的博客 1273

996引擎 - 【任务系统】和【cfg_newtask.xls】

996这个任务系统仅用于控制主界面左上角的【任务列表】,不包含具体任务的业务逻辑。任务列表有多个任务时支持上下滑动,可以调用接口将指定任务【置顶】任务列表中,每个任务一行,分标题和(当前状态对应的)内容两部分,点击能触发事件具体的任务系统业务逻辑,需要自己写代码实现。(配合996提供的任务接口和触发,实现更新任务列表)

灵台方寸山斜月三星洞 1428

提示词编写:从新手到专家的进阶之路

本文旨在为提示词编写者提供一条从新手到专家的进阶之路。我们将详细探讨提示词编写的背景与意义、基础与进阶技巧、实战应用以及最佳实践。通过逐步深入的分析与实操,读者将掌握提示词编写的核心要点,提高编写效率和作品质量。提示词是用于引导人工智能生成文本的关键词或短语,它包含了作者想要传达的主题、情感和细节。随着人工智能技术的普及,自动化写作工具逐渐应用于各行各业。为了提高写作效率,项目团队决定开发一款基于人工智能的自动化写作工具。成功开发了一款自动化写作工具,生成文本质量较高。

AI天才研究院 1086

H5跳转ReactNative打开指定页面

1、需求 工作可能有这样的需求,就是手机浏览器中加载一个h5页面,点击可以打开某一个APP,比如微信等。这时候通常都是采用URL Scheme的方式进行配置跳转。 那么什么是URL Scheme呢? 简单说:它是一个页面跳转协议。 2、 URL Scheme协议 URL Scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通...

wayne214的博客 1740

智能制造——解读AI+工业设备预测性维护解决方案【附全文阅读】

摘要:本方案面向设备密集型制造企业,提供基于AI的预测性维护解决方案。通过工业物联网、大数据和AI算法,整合传感器数据与专家知识库,构建异常检测、故障诊断等模型,实现设备台账管理、智能点检等核心功能。方案配套软硬件工具矩阵,已在锂电子等行业落地应用,可降低维护成本30%以上,减少非计划停机50%,助力企业智能化转型。

cdfunlove的博客 138

Android-Navigation的四大要点你都知道吗?

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2401_84008985的博客 1688

[深入研究4G/5G/6G专题-31]: 5G NR开机流程5.2 - UE Attach流程(Registeration Request/Accept/Complete)

目录前言:前置条件:第1章 5G NR UE attach流程(从UE log的视角看)1.0 NAS消息解析器1.1 消息交互流程1.2 UE Registeration Request消息(AMF->基站->UE)1.3 AMF Registeration Accept消息(AMF->基站->UE)1.4 UE Register complete消息(UE->基站->AMF)第2章 UE Register...............

文火冰糖(王文兵)的博客 7万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

踩坑!Android Jetpack组件库之Navigation

踩坑!Android Jetpack组件间库之Navigation 概述 Android Jetpack的Navigation组件可帮助我们实现页面间导航,无论是简单的按钮点击,还是标题栏和抽屉式导航栏等更为复杂的模式,该组件均可应对。导航组件通过遵循导航既定原则来确保一致且可预测的用户体验。 Navigation 组件旨在用于具有一个主 Activity 和多个 Fragment 目的地的应用。 主 Activity 与导航图相关联,且包含一个负责根据需要交换目的地的 NavHostFragment。具有

qq_35195386的博客 3025

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Flutter鸿蒙跨平台跳转实战:URL Scheme与App Linking深度解析

URL Scheme与App Linking是移动端实现外部跳转的核心技术,通过自定义协议或HTTPS域名校验,系统能准确拉起App并传递参数。在鸿蒙平台上,Flutter框架需通过MethodChannel桥接原生Ability调度,实现路由分发与参数解析。该技术价值在于打通浏览器、二维码等外部场景与App内页面的无缝连接,提升用户体验与转化率。常见应用场景包括分享链接直达详情页、营销活动跳转、推送通知打开指定页面等。本文聚焦Flutter鸿蒙适配,详解Scheme注册、生命周期处理、参数校验及页面栈管理

weixin_34161032的博客 223

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

手机AI Agent技术路径解析:激进派与稳健派的博弈与未来

最近在跟进AI Agent技术发展时,发现一个有趣的现象:一边是“AI手机”概念被炒得火热,宣称AI Agent将接管一切;另一边却是主流App对这类功能集体“屏蔽”,用户实际体验与宣传相去甚远。这不禁让人思考,手机与AI Agent的结合,是不是从一开始就“方向错了”? 本文将从技术开发者的视角,深入剖析当前手机AI Agent的两种主流技术路径——“激进派”与“稳健派”,拆解其背后的实现原理、技术挑战与安全风险。无论你是移动端开发者、AI应用架构师,还是对前沿技术趋势感兴趣的技术爱好者,都能通过本文理解

weixin_30509393的博客 397

Android中的DeepLink

DeepLink简单理解就是通过在手机上点击一个链接后实现如下功能: 如果目标App没有启动,那么就拉起App,并跳转到App内指定页面 如果目标App已经启动,那么就把App拉到前台并跳转到App内指定页面 实现步骤 1、提前定义好scheme,通过scheme匹配调起App 2、在App的清单文件中对首页Activity进行scheme的配置,同时还要将首页Activity的启动模式设置为...

zhaonhui的博客 4242

Android deeplink原理解析

一、什么是DeepLink 移动端深度链接,简称deeplink。这是一种通过uri链接到app特定位置的一种跳转技术,不单是简单地通过网页、app等打开目标app,还能达到利用传递标识跳转至不同页面的效果。 二、原理分析 deeplink的scheme相应分两种:一种是只有一个APP能相应,另一种是有多个APP可以相应,比如,如果为一个APP的Activity配置了http scheme类型的deepLink,如果通过短信或者其他方式唤起这种link的时候,一般会出现一个让用户选择的弹窗,因为一般而言,系

分享Android开发知识 7208

Android Webview跳转Deeplink链接方案实现

Android Webview默认无法自行处理Deeplink链接,需要shouldOverrideUrlLoading处理URL过滤出链接后显示调用跳转。

华灯雨 1562

【大前端】Android Deep Link 技术详解与实践指南

Deep Link简单来说就是一种“从外部链接直接唤起 App 内特定页面”的机制。当用户点击一个符合规则的 URL(例如id=123)时,系统会解析该链接并唤起对应的 App 页面。类比网页:普通网页链接跳转是id=123Deep Link 则是id=123,它会跳转到App 内 detail 页面对比项App Links安全性弱,易被抢注高,需域名验证使用门槛简单,无需服务器需配置 assetlinks.json链接样式myapp://https://推荐场景。

子冉冰清的博客 1697

Android跳转第三方deeplink

try { Intent intent = Intent.parseUri(deeplink, Intent.URI_INTENT_SCHEME); context.startActivity(intent); } catch (Exception e) { }

qq_23045311的博客 1万+

Android应用Deeplink无法跳转问题解决

你是否有遇到一个这样的问题:正常启动App时,在外部(浏览器或者其他app)通过deeplink能正常跳转到咱们App上的对应页面。但如果是通过deeplink来启动App的情况下(点击deeplink时,App进程不存在),首次启动是可以正常处理deeplink并跳转的,但当这时我重新去点击deeplink,你会发现App从后台切换到前台,但没有发生跳转??

m5314的博客 2140
上一篇: Android开发使用Gradle实现多渠道打包
下一篇: Kotlin 学习-基础语法(1)
coder_yao
博客等级 码龄10年 9粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值