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

注意: 这里用AndroidStudio生成的app links中scheme只能是http或https连接
  1. 配置Intent filsters

    Add URL Intent filsters添加相关的URL,配置基本的Scheme、Host等信息,[配置信息App Manifest](https://developer.android.com/guide/topics/manifest/data-element.html)
  2. 点击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();
  3. 根据官方文档,特别注意的是系统识别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能帮助我们高效管理当前的映射关系并进行测试。

更多相关文章

  1. Android+OpenCV4开发(一)——Android(安卓)NDK开发环境配置(生成C
  2. android N编译
  3. ArcGIS for Android(安卓)在Eclipse上的安装配置 (下:安装配置篇)
  4. ANDROID:测试环境安装配置
  5. android中相机支持功能查看
  6. setHint方法
  7. 命令行下使用android SDK工具手工开发简单安卓小项目
  8. 零基础如何学好安卓开发
  9. 百度地图服务详细评测

随机推荐

  1. EditText设置不自动获取焦点,点击后才获取
  2. Android挂断电话流程
  3. android ProgressBar 的使用
  4. android拍照造成内存泄露问题
  5. 点击button然后改变其中文字的颜色
  6. Android(安卓)原生加载框
  7. Android应用程序键盘(Keyboard)消息处理机
  8. Android通过http协议POST传输方式
  9. android如何获取url指定的图片资源
  10. Linux下Android(安卓)ADB驱动安装详解