Android(安卓)Studio 2.3 特性:生成Android(安卓)App Links(App links assistant)
16lz
2021-01-26
Android Studio 2.3及以上版本中提供了App Links Assistant协助开发者进行快速配置,该功能可在tools > App Links Assistant中开启。
注意: 这里用AndroidStudio生成的app links中scheme只能是http或https连接
配置Intent filsters
Add URL Intent filsters添加相关的URL,配置基本的Scheme、Host等信息,[配置信息App Manifest](https://developer.android.com/guide/topics/manifest/data-element.html)
点击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();
根据官方文档,特别注意的是系统识别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"] }}]
(4)最后点击Test App Links可以在设备或模拟器上进行测试。
使用App Links能为开发者带来福利,但目前仍然有几个不可忽视的缺陷:当app配置好了对App Links的支持之后,只有运行在Android M上的用户才能直接体会到这项好处开发者需要维护与App相关联的站点,并支持上传认证文件,可能造成更大的财力精力开销扩展利用App Links Assistant我们可以快速配置应用全局路由的支持,由于manifest中已存在url与activity的映射关系,我们可以基于Intent和PackageManager设计一个简单的路由框架。比起手动在manifest增删,App Links Assistant能帮助我们高效管理当前的映射关系并进行测试。
更多相关文章
- Android+OpenCV4开发(一)——Android(安卓)NDK开发环境配置(生成C
- android N编译
- ArcGIS for Android(安卓)在Eclipse上的安装配置 (下:安装配置篇)
- ANDROID:测试环境安装配置
- android中相机支持功能查看
- setHint方法
- 命令行下使用android SDK工具手工开发简单安卓小项目
- 零基础如何学好安卓开发
- 百度地图服务详细评测