android4.4.2link2sd,Android Studio 2.3 特性:生成Android App Links-程序员宅基地

技术标签: android4.4.2link2sd  

移动应用开发时常遇到应用跳转、h5唤起原生页面等使用场景,所以一个健壮的应用需要具备路由的能力。常见的操作方法需要在manifest中针对每个页面进行配置,设想应用有大量的页面那配置工作岂不是费时费力,所以我们便来一起看看Android Studio 2.3给我们带来了什么便利

概览及使用

App Links是Android M以上的特有功能,即实现了auto-verify支持用户点击一个链接即可唤起APP,而不用像以往版本中需要点击一个选择框列表。为了使自己的应用支持App Links,我们常需要以下三个步骤:

在manifest中创建Intent filter

在Activity中编写对应的代码逻辑处理收到的url links

通过配置证书文件,关联网页和应用

Android Studio 2.3及以上版本中提供了App Links Assistant协助开发者进行快速配置,该功能可在tools > App Links Assistant中开启。

d26d62a992f8

App Links Assistant

配置Intent filsters

首先打开URL匹配规则编辑器,配置基本的Scheme、Host等信息,并指定关联的Activity对这块不是很了解的同学可以点击App Manifest了解各个字段的含义以及优先级。

d26d62a992f8

URL Mapping

配置完毕后可查看已配置的映射的关系,并可以通过输入URL进行校验是否调通

d26d62a992f8

URL-to-Activity

选择Activity

配置好mapping后,点击Select Activity选择上述配置好的Activity可自动生成以下代码。变量appLinkData以Uri的形式存储了进行传递的数据,针对具体页面开发者可编写特定的处理逻辑。

// ATTENTION: This was auto-generated to handle app links.

Intent appLinkIntent = getIntent();

String appLinkAction = appLinkIntent.getAction();

Uri appLinkData = appLinkIntent.getData();

关联应用

前两步已经使我们的应用具备了URL支持,在最后一步中我们将生成站点的配置文件,使其能够唤起我们的应用。此处需要根据个人用途选择Signing config或keystore并选择debug/release类型,点击生成的配置文件为assetlinks.json,并将其上传至自己的站点。

d26d62a992f8

Associate Website

根据官方文档,特别注意的是系统识别Links需要通过https协议,故我们需要确保assetlinks.json可以通过https链接,无论我们的应用是否在Intent-filter中包含了https

通过配置assetlinks.json我们可以使站点具备唤起单一APP或者多个APP的能力,文件中使用了以下字段来关联app:

package_name 即manifest中定义的包名

sha256_cert_fingerprints 即应用的sha256指纹证书

而指纹证书可以调用命令行进行生成

$ keytool -list -v -keystore my-release-key.keystore

若需要关联多个app,可以参照下面的格式进行配置

[{

"relation": ["delegate_permission/common.handle_all_urls"],

"target": {

"namespace": "android_app",

"package_name": "example.com.puppies.app",

"sha256_cert_fingerprints":

["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]

}

},

{

"relation": ["delegate_permission/common.handle_all_urls"],

"target": {

"namespace": "android_app",

"package_name": "example.com.monkeys.app",

"sha256_cert_fingerprints":

["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]

}

}]

最后点击Test App Links可以在设备或模拟器上进行测试。

后记

缺陷

使用App Links能为开发者带来福利,但目前仍然有几个不可忽视的缺陷:

当app配置好了对App Links的支持之后,只有运行在Android M上的用户才能直接体会到这项好处

开发者需要维护与App相关联的站点,并支持上传认证文件,可能造成更大的财力精力开销

扩展

利用App Links Assistant我们可以快速配置应用全局路由的支持,由于manifest中已存在url与activity的映射关系,我们可以基于Intent和PackageManager设计一个简单的路由框架。比起手动在manifest增删,App Links Assistant能帮助我们高效管理当前的映射关系并进行测试。

参考文献

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39526185/article/details/117700865

智能推荐

Android-版本说明-安全隐私-1.5~4.1_android 隐私说明大全-程序员宅基地

文章浏览阅读528次。Android 1.5 至 4.1 中的安全增强功能 | Android 开源项目 | Android Open Source Project_android 隐私说明大全

springboot多模块下无法导包的问题_there are circular dependencies between: 1. 'crm_6-程序员宅基地

文章浏览阅读442次。[ERROR] Some problems were encountered while processing the POMs:_there are circular dependencies between: 1. 'crm_6x_core' module, 'busiframe

hping3工具DOS攻击实验_hping3 100%loss-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏19次。需要两台机器,一台扮演攻击源,另一做目标源。 攻击源地址:10.0.40.4 被攻击机器地址:10.0.40.246 2 被攻击的机器上安装tcpdump,tcpdump主要是用来抓包的,看看网络数据包是否到达。 $yum install tcpdump -y 3 首先开启tcpdump抓取来自攻击源的数据包,其他数据包应该过排除。 $tcpdump -i eth0 src host 10.0.40.4 -i 是选择哪个网卡 ..._hping3 100%loss

什么是PV、UV和IP-程序员宅基地

文章浏览阅读166次。查看过网站统计的菜鸟经常会PV、UV和IP都是指什么,下面就解释一下。PV是Page View的缩写,翻译成中文叫做“页面访问量”。UV的全称是Unique Visitor,意思是“独立访问者”。IP就不要解释了,就是我们上网的时候使用的IP。看过英文的全称和汉语的解释就很容易理解这三个值了。PV就是指网站的总访问量,刷新一次就是一个PV值。IP就是有一个新IP访问..._pvtwrip

删除win10linux系统,Windows10系统如何重置/注销Linux子系统-程序员宅基地

文章浏览阅读318次。在windows10系统中,如果启用“适用于Linux的Windows子系统(WSL)”安装的某个Linux发行版子系统(例如Ubuntu)出现了问题的话,我们可以注销Linux子系统的发行版,也可以将其重置为默认值,那么Windows10系统如何重置/注销Linux子系统呢?下面给大家分享一下具体的操作步骤。一、重置Linux子系统这个不需要命令行操作,在《Windows设置》中即可直观地进行操..._在window的linux存在之前删除的系统

deepfakes视频的网站_惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?!-程序员宅基地

文章浏览阅读2.9k次。原标题:惊了,DeepFakes不仅骗过人,还能骗过人脸识别系统?!选自 arXiv作者:Pavel Korshunov、Sebastien Marcel机器之心编辑部今年年初,DeepFakes 技术火爆全网,它可以轻松替换视频中的人脸。网络上各种恶搞视频(其中大量是色情视频)让人分不清真真假假,那么人脸识别系统能够检测出哪些是 DeepFakes 生成的视频吗?这项研究告诉我们不太行……自动视..._deepfake换脸视频

随便推点

Algs4-1.5.3使用加权quick-union算法完成练习1.5.1-程序员宅基地

文章浏览阅读346次。1.5.3使用加权quick-union算法(请见算法1.5)完成练习1.5.1。 转载于:https://www.cnblogs.com/longjin2018/p/..._用quick union完成练习1.5.1

OpenCV_Mat类对象的基本操作、常用操作及相关成员函数介绍_cv::mat.row-程序员宅基地

文章浏览阅读1.2k次。OpenCV_Mat类对象的基本操作、常用操作及相关成员函数介绍_cv::mat.row

UIButton的竖排图片和文本-程序员宅基地

文章浏览阅读51次。UIButton的竖排图片和文本html, body {overflow-x: initial !important;}.CodeMirror { height: auto; }.CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; }.CodeMirror-lines { padding: 4px 0px; }.Code..._ui web 竖向按钮

sniper 3d android,Sniper 3D Shooter by i Games-程序员宅基地

文章浏览阅读55次。Sniper 3D Shooter by i Games 介绍Sniper 3D Shooter by i Games来自应用汇:Sniper 3D Shooter by i Games http://www.appchina.com/app/com.igames.snipershooterterminator?from=spi-descSniper 3D Shooter by i Games ..._sniper shooter games

螺丝头部及其相关知识点_螺丝c头和p头区别-程序员宅基地

文章浏览阅读1.6k次。声明:本文转载于百度文库螺丝规格编定解析举例:4 X 10 PW A . H .C (+)(1) (2) (3) (4) (5) (6) (7)(1)螺丝直径(如上述螺丝规格中的“4”)(2)螺丝长度(如上述螺丝规格中的“10”)(3)螺丝头型(如上述螺丝规格中的“PW”) V: 蘑菇头 C: 圆柱头F(K): 沉头 H: 六角头 HW: 六角..._螺丝c头和p头区别

FPGA实现VGA显示(六)——————多字符显示及基于fpga的“打字机”实现_vga在屏幕不同的位置同时显示多段字符-程序员宅基地

文章浏览阅读5.4k次,点赞7次,收藏58次。前面笔者总结了如何显示单字符,设立通过一个简单的任务来总结如何实现vga多字符显示。实验要求基础:由PC通过UART发送数据在VGA显示。数据可以为字母,数字,汉字(任选10个字),VGA分为左右两个区域,输入字母或者数字时在VGA左边显示,输入汉字时在VGA右边显示。发挥:有删除功能,可通过按键删除显示的数字,字母或者汉字。左边的按键按下字母或者数字删除,右边的按键按下汉字删..._vga在屏幕不同的位置同时显示多段字符

推荐文章

热门文章

相关标签