Android通过DeepLink方式跳转其他App传递参数

  网上对于安卓DeepLink方式跳转传递参数的例子较少,说的也不客观,实践之后发现还是有一些坑。其实为什么要用DeepLink方式跳转,有些是因为引流的原因,他们希望通过网页就能直接跳转到App的界面。还有其实就是某些业务的需要,需要统一跳转方式,方便维护代码。如果不知道DeepLink是什么,可以自行百度一下,下面介绍一下实际的用法:

接收参数方:

1.跳转的App需要在清单文件注册以下是例子:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alex.deeplinkproject">

<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!--url跳转格式为:open://app.test.com/game-->
<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:scheme="open"
android:host="app.test.com"
android:pathPrefix="/game"
/>
</intent-filter>

</activity>
</application>

</manifest>

通过三个字段生成一个URL:scheme://host pathPrefix 如上:open://app.test.com/game

2 需要接收的参数通过Uri获取

//通过Deeplink 跳转获取参数
String action = getIntent().getAction();
if (Intent.ACTION_VIEW.equals(action)) {
Uri data = getIntent().getData();
if (data != null) {
String appId = data.getQueryParameter("appId");
String token = data.getQueryParameter("token");
String extend = data.getQueryParameter("extend");
String merchant = data.getQueryParameter("merchant");
String agent = data.getQueryParameter("agent");
}

 

发送参数方(以下代码比较简单使用Kotlin编写):

1.需要传递对应的参数而后拼接到Uri后面,以下是例子

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<Button>(R.id.bt1).setOnClickListener {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("open://app.test.com/game?appId=com.game.sid21&token=21token&extend=21extend&merchant=21merchant&agent=21agent"))
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
}
}

类似GET请求已Key=Value的形式传递。注意,Uri.parse 中的参数不可用+号进行拼接会出现无法获取参数的情况。跳转到其他App采用开启新的栈方式,避免误认为是一个App。

  以上就是一个完整的跳转流程代码,但是实际上,当被跳转的App已经启动的时候我们有时候会取不到数据,但是跳转是正常的跳转了。这边要注意我们使用的flag,当被启动的App已经启动,他会在onNewIntent()返回我们的正确的Intent而不是getIntent()了。你需要重写此方法获取最新的Intent。最好抽取一个方法出来,在onCreate()和onNewIntent()中都获取Intent()。如下:

  @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //通过Deeplink 跳转获取参数
        getIntentData(getIntent());

    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        getIntentData(intent);
    }
    
    private  void getIntentData(Intent intent){
        String action = intent.getAction();
        if (Intent.ACTION_VIEW.equals(action)) {
            Uri data = getIntent().getData();

            if (data != null) {
                String appId = data.getQueryParameter("appId");
                String token = data.getQueryParameter("token");
                String extend = data.getQueryParameter("extend");
                String merchant = data.getQueryParameter("merchant");
                String agent = data.getQueryParameter("agent");
            }
        }
        
    }

 

转载于:https://www.cnblogs.com/lovelyYakir/p/10363007.html

深度学习+遥感:2025最新土地利用分类资源大全(数据集/论文/代码) 近年来,深度学习在遥感影像土地利用分类领域取得了突破性进展,从传统的农田、森林识别,到复杂的城市功能区划分,AI正在重新定义我们对地表覆盖的认知。无论是科研还是工程应用,高质量数据集、前沿算法和开源工具都是成功的关键。本文精心整理了2024年最值得关注的土地利用分类资源,包括:✅ 10+个权威数据集(覆盖全球、多分辨率、多光谱/雷达)✅ 15+篇顶会论文(CNN/Transformer/自监督学习等SOTA方法)✅ 6大开源工具箱(PyTorch/Keras实现,即拿即用) 阅读详情

相关推荐

AI 自动生成商业计划书:AIGC 如何助力创业者?

在创业的早期阶段,商业计划书(Business Plan)是至关重要的。它不仅用于吸引投资者、明确发展路径,还能帮助团队对业务模式、市场定位和财务预测有清晰认知。然而,撰写一份高质量的商业计划书往往需要投入大量时间和精力。如今,AIGC(AI Generated Content,人工智能生成内容)技术正在改变这一现状。借助 AIGC,创业者可以更快速、高效地创建商业计划书,并通过 AI 进行优化和数据分析。

2401_82808034的博客 3780

Android DeepLink多个参数传递

DeepLink在adb shell命令模拟时,如果有多个参数,& 符号之前要加 \ 进行转义,否则后面的参数收不到。 解决方法: $ adb shell am start -W -a android.intent.action.VIEW -d "scheme://host?package=com.tencent.mm\&isNeedComment=true" ...

ruanyandong的博客 3214

MATLAB实战:手把手教你实现WVD信号分析(附完整代码与避坑指南)

本文通过MATLAB实战,手把手教你实现Wigner-Ville分布(WVD)信号分析。文章提供了从零构建WVD函数的完整代码,并重点解析了使用解析信号、处理交叉项、优化计算效率等关键避坑指南,帮助工程师高效处理非平稳信号,获得高分辨率的时频分析结果。

purple的博客 1081

实例解析:融合深度链接和携带参数安装,实现App高效推广运营

深度链接(DeepLink)技术能够绕过App首页,直接将Web页面上的用户带入App内部指定页面,对于改善用户体验、提高流量转化率有极大的帮助。 长期以来,各个App就像大海中的多个岛屿,虽然同样扎根于Android和iOS系统的海洋上,但却很难直接深入交互。但自深度链接出现以来,Web和App间天然存在的屏障被打破,为App的营销推广提供了无限可能。由于其技术通用性,加上具备大量有效的使用场景,因此更是成为开发者、市场、产品人必不可少的App营销技能。 openinstall提供的一键跳转功能,通过集成

weixin_47648041的博客 785

华为昇腾 910B 实战:DeepSeek-R1 蒸馏模型高效部署与性能调优全解析

本文详细解析了在华为昇腾910B硬件平台上高效部署DeepSeek-R1蒸馏系列模型(14B/32B版本)的完整实战流程。内容涵盖从MindIE环境搭建、镜像获取、模型准备,到服务配置、内存参数调优、性能测试及常见问题排查,为开发者提供了基于昇腾910B进行大模型部署与优化的全链路指南。

weixin_28235513的博客 210

【数据降维】数据降维方法分类

数据降维基本原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集紧致的低维表示。 数据降维工具箱drtoolbox中众多算法,这里简单做个分类。 因为很多并没有仔细了解,在此次只对八种方法做分类:主成分分析(Principal Component Analysis,PCA)、线性判别分析(Linear Discriminant Analysis,LDA)、等

小魏的修行路 6万+

android deeplink能力支持

deeplink场景:在分享的web页面中,点击某控件,直接打来apk的指定位置前段html代码(来自http://blog.youkuaiyun.com/u012792689/article/details/53925547?_t_t_t=0.663925763219595博主代码):<!doctype html> <html> <head> <meta http-equiv="Con

caixiao_Engineer的博客 1781

让旧 Append 字段升级为真正的 Key User Custom Field:基于 SCFD_EUI 的无损转换与 UI / API 暴露实战

摘要:SAP S/4HANA私有云和本地部署项目中,常面临将历史遗留的手工追加字段转换为可管理的Custom Field的挑战。SAP提供通过事务码SCFD_EUI将旧字段转换为ABAP Managed Field(AMF)的路径,实现字段名和数据原地保留的同时获得扩展能力。适用场景包括已沉淀多年数据的字段迁移成本高,或对数据元素有特殊约束需求。转换后字段可在Fiori UI、报表、表单等多触点统一管理。但AMF会增加复杂度,建议优先使用标准Custom Field。操作前需确保开发环境和传输配置正确,并遵

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

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

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

子冉冰清的博客 1697

[低代码 + AI] 明道云与 Dify 的三种融合实践方式详解

融合方式技术路径优点局限或注意事项UI 嵌入iframe 表单嵌入快速集成、用户体验一致无法自定义交互逻辑明道云调用 DifyAPI 请求节点工作流自动化、逻辑灵活有 timeout 限制、需优化 promptDify 调用明道云插件或 API 调用节点可查询实际业务数据、增强 AI 智能需理解明道云 API 结构、权限设置复杂明道云与 Dify 的结合为低代码平台注入了智能动力。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1187

c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?

Emgu CV 是 OpenCV 的 .NET 包装器,可以让开发者在 .NET 语言(如 C#)中使用 OpenCV 的功能进行图像处理。在进行图像处理时,Emgu CV 提供了丰富的 API 可以使用。PictureBoxImageBox下面是一个详细的示例,演示如何使用 Emgu CV 在 C# 中进行基本的图像处理,包括加载图像、转换为灰度图像、进行边缘检测,然后显示结果。byte在这个示例中,我们使用了三个PictureBox控件来显示原始图像、灰度图像和边缘检测后的图像。

zhangzhechun的专栏 667

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

在开发过程中,经常会遇到两个app之间跳转、或者浏览器链接跳转app的需求,这里简单总结一下。 1.简单的从一个app跳转到另一个app 直接用intent就可以实现。 只要知道目标activity的包名和类名就可以直接跳转了。 /** * 方法1:intent的显式跳转 */ private fun jumpDemo2() { val intent = Intent() intent.component = ComponentName("c.

coder_yao的博客 5195

Java后端新人入职第一天,环境搭建,全看这篇就行了

本文主要是记录一下一个新人java后端开发来到一个新公司,如何快速完成环境搭建,本文意旨一个小时搞定所有环境搭建,让你更快加入到新环境。包括Java、Maven、Tomcat、idea、Redis、Mysql等等,还附带对应安装资源包,我这里就以目前比较流行的版本进行详细说明。

qi_ming88的博客 9279

java 跳转deeplink链接_Android通过DeepLink方式跳转其他App传递参数

网上对于安卓DeepLink方式跳转传递参数的例子较少,说的也不客观,实践之后发现还是有一些坑。其实为什么要用DeepLink方式跳转,有些是因为引流的原因,他们希望通过网页就能直接跳转到App的界面。还有其实就是某些业务的需要,需要统一跳转方式,方便维护代码。如果不知道DeepLink是什么,可以自行百度一下,下面介绍一下实际的用法:接收参数方:1.跳转的App需要在清单文件注册以下是例子:pa...

weixin_39897449的博客 971

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Deeplink最全解析

在智能手机上,用户平均超过86%的时间都是花在各个 App 中的,而各个 App 之间又是独立运作的,只能用 web 进行连接,或者通过浏览器的 WebView 进行受限的内容跳转,实际上缺少原生的 App 体验。这是由于移动端操作系统、各个应用的底层技术、调用方式、代码等层面各不相同造成的割裂性,我们今天要讲的 Deeplink(深度链接)正是解决 App 间自由跳转的技术。 Deeplink 又叫深度链接,是一项减少运营难度的技术,它在手机上的应用场景十分广泛,你可能没听过,但你一定见过它的相关应用场

lizhong 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

这是一篇DeepLink入门指南

一、DeepLink是什么?二、为什需要DeepLink?三、DeepLink存在的几种形式?2、Android App Links 和 iOS Universal Links3、H5链接5、其他技术方案5.1 微信跳转四、Android中的简单实现1、在AndroidManifest文件中添加Intent过滤器2、读取Intent传递的书架3、使用ADB测试Deeplink总结。

qq_35063091的博客 9340

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android DeepLink的实现原理

前言 之前我们又是看源码又是研究动画,今天分享一个比较简单的技术点:DeepLink。 DeepLink,深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。简单的介绍DeepLink概念之后,我们看一个实际的例子: 朋友通过京东分享给我一个购物链接: 于是我通过微信打开了这条链接: ...

w00347190的博客 1585

Android DeepLink使用

DeepLink 介绍 DeepLink,即为深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。 DeepLink 通常运用于App社交分享、App广告引流、App裂变活动、Web to App、分享效果统计、沉默用户唤醒等场景,对广告引流、活动推广、新闻类、电商类、游戏类、视频直播类App的引流推广和转化都有着奇效。 常见使用场景如下: 电商类:在分享商品链接中点击,进入 App 内对应店铺或购物页面 资讯类

ruanyandong的博客 1万+

移动开发:DeepLink(浏览器点击链接跳转到app)

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

u012426327的专栏 5033

初识DeepLink

前言 最近项目涉及DeepLink,虽然平时有遇到过,但是并不知道这个术语,特意了解了下,还是比较少关注官方动态。。。 文章内容大部分来自DeepLink的实现原理,说得很不错。 什么是DeepLink DeepLink:创建指向应用内容的深层链接,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app。 例如:好友在微信中推荐某个京东产品,然后会有是否打开京东app的提示,当我们点击 ‘是’ 的时候就会自动跳转到京东app相关页面。 原理 实际上是

fengyulinde的博客 1210

Android DeepLink 技术

DeepLink 是什么DeepLink 从字面意思可以理解为「深度链接」,那么 DeepLink 在 Android 开发中有什么作用呢?简单来说,可以用这种技术实现 web 页面点击一个链接跳转至 APP 指定的某一页面。这种技术的好处是可以为我们的 APP 导流。举个例子,我们公司是做一个房产平台的,如果用户在浏览器上看到新房列表的信息,并且手机上已经安装了应用的话,便可以直接跳转到 APP

lihongxiangleo的博客 2072

deeplink, app跳转安装

判断手机/平板是否安装app 如果安装则调用app的scheme,传入url当作参数,来做后续操作 如果没有安装则跳转到appstore/googleplay下载app (function() { var openUrl = window.location.search; t...

692

一文搞懂 DeepLink:从原理到 iOS/Android 实战

文章摘要 DeepLink(深度链接)能让用户点击链接时直接跳转至App指定页面,而非浏览器或App首页。本文解析了其原理与实现方式: URL Scheme(旧方案):存在安全性差、易被劫持等问题; Universal Link(iOS推荐):基于HTTPS协议,通过apple-app-site-association文件验证域名归属,实现无缝跳转; App Link(Android推荐):类似Universal Link,需配置assetlinks.json文件。

willim123的博客 1173

YCBlogs Android DeepLink 与 AppLink 实践指南:从 Scheme 唤起 APP 到 Digital Asset Links 系统验证

本篇指南围绕 YCBlogs 仓库中 [android/15.经典总结/00.Deeplink实践分析.md](https://link.gitcode.com/i/9f40b251a860c7ef7799ddf29745317d) 的技术主线展开:从"一鹿有车抽奖活动"的唤起场景出发,系统讲解 DeepLink(自定义 Scheme 深度链接)、Deferred DeepLink(延迟深度链接)

gitblog_00290的博客 719

web-launch-app高级配置指南:解锁deeplink与多环境适配的实用技巧

web-launch-app是一款强大的开源工具,能够帮助开发者实现从网页调起App、调用端能力、下载App、环境判断和复制等功能。本文将为你提供一份全面的高级配置指南,带你深入了解如何解锁deeplink与多环境适配的实用技巧,让你的应用在各种场景下都能流畅运行。 ## 一、deeplink配置:打造无缝的App调起体验 ### 1.1 scheme配置:基础但关键的调起方式 scheme是

gitblog_01180的博客 965

DeepLink的实现原理

前言 之前我们又是看源码又是研究动画,今天分享一个比较简单的技术点:DeepLink。 DeepLink,深度链接技术,主要应用场景是通过Web页面直接调用Android原生app,并且把需要的参数通过Uri的形式,直接传递给app,节省用户的注册成本。简单的介绍DeepLink概念之后,我们看一个实际的例子: 朋友通过京东分享给我一个购物链接: WX20180906-115103@2x.png 于是我通过微信打开了这条链接: 4731536205741_.pic.jpg 在微信中打开

FeelTouch Labs 1367
上一篇: Android中注解的使用
下一篇: ReactNative手势解锁(react-native-ok-gesture-password)
diebing0439
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值