URL Scheme 介绍

URL Scheme是一种页面内跳转协议,通过定义自己的URL Scheme协议,可以

从一个APP中打开另外一个APP指定的页面,也可以从H5页面中跳转到APP指定的页面(实际上就是从一个浏览器中的一个页面跳转到APP指定页面)。

URL Scheme协议格式

一个完整的完整的URL Scheme协议格式由scheme、host、port、path和query组成,其结构如下所示:

://:/?

实例

schemeService://Host:8080/path?id=true

schemeService:即Scheme 该Scheme协议名称

Host:即Host,代表Scheme作用于哪个地址域

8080:即port,代表端口号

path:即path,代表打开的页面

id:代表传递的参数

安卓端配置

AndroidManifest

android:name=".ui.tool.LoadToolDetailActivity"

android:screenOrientation="portrait">

android:host="Host"

android:path="/path"

android:port="8080"

android:scheme="schemeService"/>

Activity

Intent intent = getIntent();

String scheme = intent.getScheme();

String dataString = intent.getDataString();

Uri uri = intent.getData();

if (uri != null) {

//完整的url信息

String url = uri.toString();

//scheme部分

String schemes = uri.getScheme();

//host部分

String host = uri.getHost();

//port部分

int port = uri.getPort();

//访问路径

String path = uri.getPath();

//编码路径

String path1 = uri.getEncodedPath();

//query部分

String queryString = uri.getQuery();

//获取参数值

String systemInfo = uri.getQueryParameter("tool_id");

}

调用

网页

打开App传入指定参数

安卓

先检查一下是否有效

private boolean schemeValid() {

PackageManager manager = mContext.getPackageManager();

Intent action = new Intent(Intent.ACTION_VIEW);

action.setData(Uri.parse("caishilive://caishi:8080/loadtooldetail?tool_id=100"));

List list = manager.queryIntentActivities(action, PackageManager.GET_RESOLVED_FILTER);

return list != null && list.size() > 0;

}

跳转

Intent action = new Intent(Intent.ACTION_VIEW);

StringBuilder builder = new StringBuilder();

builder.append("schemeService://Host:8080/path?id=true");

action.setData(Uri.parse(builder.toString()));

startActivity(action);

android scheme 配置多个,Android Scheme URL 使用方法相关推荐

  1. 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )

    文章目录 一.报错信息 二.解决方案 ( Android Studio 配置外部 so 动态库两种方法 ) 1.jniLibs 目录存放 2.libs 目录存放 一.报错信息 外部引用 so 动态库 ...

  2. 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )

    文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  3. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  4. android scheme 配置多个,Android业务组件化之URL Scheme使用

    Android业务组件化之URL Scheme使用 H5打包的apk使用(Android平台通过UrlSchemes与第三方应用相互调用) 什么是 URL Scheme? android中的schem ...

  5. Android Studio配置GreenDAO 3.2.0和使用方法

    我相信,在平时的开发过程中,大家一定会或多或少地接触到SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写SQL语句与解析查询结果等.所以,适用于Android ORM框架也就孕育而生了 ...

  6. android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...

    一.             环境配置和安装(Android2.2) 参考文章:这里 1.1     JDK 1.2     SDK 下载地址:http://dl.google.com/android ...

  7. android studio 配置HTTP proxy

    android studio 配置HTTP proxy Android SDK在线更新镜像服务器 南阳理工学院镜像服务器地址:mirror.nyist.edu.cn 端口:80中国科学院开源协会镜像站 ...

  8. android studio http proxy,android studio 配置HTTP proxy

    android studio 配置HTTP proxy Android SDK在线更新镜像服务器 南阳理工学院镜像服务器地址: mirror.nyist.edu.cn 端口:80 中国科学院开源协会镜 ...

  9. ANDROID内核和驱动篇-ANDROID内核介绍(转)

    已经有一些的文章介绍Android内核了,本系列篇将从Linux内核的角度来分析Android的内核,希望给初学者提够有用的信息.本章将简单的介 绍Android内核的全貌,起到一个抛砖引玉的作用.从 ...

  10. android启动页使用gif,android中使用react-native设置应用启动页过程详解

    一.背景 在我们使用react-native进行编写代码的时候,当启动应用的时候,我们会看到如下界面 然而,这样的启动界面是非常的不又好,那么我们该怎么进行处理启动界面呢?有如下两种方案 二.方案 1 ...

最新文章

  1. leetcode-cli 用命令行开心的刷算法
  2. rgbdslam_v2安装并使用
  3. Linux下xz与tar的区别
  4. NC51189 Mondriaan‘s Dream
  5. php模拟表单提交登录,PHP模拟表单的post请求实现登录
  6. BGP——Peer Group(讲解+配置)
  7. hdu 1671 Phone List 字典树模板
  8. 同城门户同城分类信息网站源码discuz插件+pc端+小程序端+49款插件
  9. 图片批量上传至服务器/华为云obs 前台采用webuploader.js div+css布局 图片.zip华为云obs浏览器下载
  10. 在HBuilderX的git上导入github项目/把项目传到github
  11. python查看ascii_Python获取ASCII字符
  12. 服务器是什么?与普通电脑有什么区别?
  13. 苹果手机怎么查看足迹_苹果手机打电话怎么录音
  14. 如何比较两个文本的相似度
  15. OBS 基础 16 如何在CMake中添加新的lib库、头文件等
  16. [Python深度学习入门]实战一·Numpy梯度下降求最小值
  17. QT飞机大战五(碰撞爆炸特效类)
  18. 昌平北七家空调移机-空调安装电话
  19. [TEST] 此文用以测试样式中的各种标签
  20. MySQL mysqld dead but subsys locked的解决办法_张童瑶的博客

热门文章

  1. php中法兰克福的时区,法兰克福时差与中国差多少
  2. October CMS
  3. 深圳赛意信息 怎么样_深圳鹏程整形医院怎么样_全新整形价目表_资质
  4. 邮箱怎么群发你知道吗?邮件群发效果较好的邮箱有哪些
  5. 【React】报错:Error: Element type is invalid: expected a string (for built-in components) or a class/fun
  6. Springboot加载静态图片
  7. 如何使静态图片做成动态效果?怎么让静态图片动起来
  8. 股市入门:应对股市涨跌方法
  9. ‘adb‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  10. Tiktok shop小店注册以及如何一键上传产品批量上货铺货