android 外部内容分享到app内,外部跳转APP

需求

广告推广、华为微服务;通过外部网页或者卡片跳转到我们的app指定界面。如果app已经存在打开app,app不存在跳转下载界面。

APP配置

android:name=".LauncherActivity"

android:launchMode="singleTask"

android:screenOrientation="portrait">

android:host="host"

android:scheme="scheme" />

scheme 、host 是必填项

android:path="/path"

android:port="8080"

根据需求进行添加

获取URL scheme中的值

Uri uri = getIntent().getData();

if (uri != null) {

// 完整的url信息

String url = uri.toString();

Log.i(TAG, "url:" + uri);

// scheme部分

String scheme = uri.getScheme();

Log.i(TAG, "scheme:" + scheme);

// host部分

String host = uri.getHost();

Log.i(TAG, "host:" + host);

// port部分

int port = uri.getPort();

Log.i(TAG, "port:" + port);

// 访问路劲

String path = uri.getPath();

Log.i(TAG, "path:" + path);

List pathSegments = uri.getPathSegments();

// Query部分

String query = uri.getQuery();

Log.i(TAG, "query:" + query);

//获取指定参数值

String success = uri.getQueryParameter("success");

Log.i(TAG, "success:" + success);

}

}

通过web打开,核心参数scheme 和 host

1、创建一个html,把这个粘贴扔进去。如果安装了app就可以打开

打开app

2、这个可以配置下载链接,如果APP未安装会跳转下载链接地址

(根据需要自己修改,网上找的例子)

Start or Download

(function(){

var ua = navigator.userAgent.toLowerCase();

var t;

var config = {

/*scheme:必须*/

scheme_IOS: 'scheme://host',

scheme_Adr: 'scheme://host',

download_url: 'http://a.app.qq.com/o/simple.jsp?pkgname=com.test',

timeout: 600

};

function openclient() {

var startTime = Date.now();

var ifr = document.createElement('iframe');

ifr.src = ua.indexOf('os') > 0 ? config.scheme_IOS : config.scheme_Adr;

ifr.style.display = 'none';

document.body.appendChild(ifr);

var t = setTimeout(function() {

var endTime = Date.now();

if (!startTime || endTime - startTime < config.timeout + 200) {

window.location = config.download_url;

} else {

}

}, config.timeout);

window.onblur = function() {

clearTimeout(t);

}

}

window.addEventListener("DOMContentLoaded", function(){

document.getElementById("call-app").addEventListener('click',

openclient, false);

}, false);

})()

通过另外一个app打开

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("scheme://host"));

startActivity(intent);

可以try catch一下,出现Exception说明手机没有安装想打开的APP,进行其他处理或者提示。

华为微服务

用到的是deeplink链接,使用原理也是scheme

遇坑

scheme | host 大小写问题(亲测实坑)

scheme host 在浏览器里是不分大小写的,会统一转为小写。

所以不要再scheme、host里面写大写!!!

所以不要再scheme、host里面写大写!!!

所以不要再scheme、host里面写大写!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue组件一直注册不了_Vue自定义组件及组件的注册方法

为了能在模板中使用&#xff0c;这些组件必须先注册以便 Vue 能够识别。这里有两种组件的注册类型&#xff1a;全局注册和局部注册。至此&#xff0c;我们的组件都只是通过Vue.component全局注册的&#xff1a;Vue.component(component-name, {// ... options ...})该组件名Vue…

android fragment 管理器,Android Fragment 與 Fragment管理器

Android Fragment 與 Fragment管理器首先談談Fragement的需求過去開發人員認為界面之間的跳轉只需要使用多個activity組成就行了&#xff1b;例如下圖中&#xff0c;在Activity-A管理的界面中單擊按鈕后&#xff0c;Activity-A響應事件並啟動Activity-B&#xff1b;而用戶在單擊…

如何把本地yum源给其他机器使用_如何使用系统安装盘做yum的本地源?

第一种方法&#xff1a;1。 在server1上copy所有光盘的内容到/server/rhel5/i386/&#xff0c;并对此目录做好了NFS共享&#xff0c;然后把Server下repodata改名为repodata。ins2。 # createrepo -g /misc/cd/Server/repodata。ins/comps-rhel5-server-core。xml -v /server/rh…

android 手机 报证书错误,Android设备中的SSL证书错误

了解网络科技近年来高速增长&#xff0c;对人们日常生活的影响可通过PC端和移动设备的使用增长数据可以推断。在数字化技术的今天&#xff0c;用户也希望能够在移动设备上保护网站的信息以及用户的数据。SSL证书是保护网站信息的安全协议&#xff0c;也是目前互联网站点必备的安…

手机调试_手机充值不好用?因为正在调试期

“嘀&#xff0c;余额不足&#xff0c;请充值”我们在乘坐公交车的时候&#xff0c;经常会遇到这种情况&#xff0c;上车才发现余额不足&#xff0c;下班又没时间去给公交卡充值&#xff0c;给生活带来了很大的不便&#xff0c;难道就没有更加方便快捷的方法吗&#xff1f;比如…

android 网页json数据传输,如何将JSON格式的数据从WebView传递到HTML页面

我试图将JSON格式的数据从我的Android WebView传递到HTML页面.但是,每当我尝试解析原始JSON数据时应用程序崩溃,我希望格式为{“key”&#xff1a;“data”}我的应用程序的目标是解释此JSON数据,将其形成一个值数组,并将其发送到HTML页面.这是正确的方法吗&#xff1f;这是我的…

七参数 布尔萨 最小二乘法_最小二乘法和最大似然法的联系

目录最小二乘法概念最大似然法概念两者的联系总结一、最小二乘法概念最小二乘法&#xff08;又称最小平方法&#xff09;是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据&#xff0c;并使得这些求得的数据与实际…

android 浮动按钮拖拽,小程序拖拽浮动按钮

小程序拖拽浮动按钮2019-5-22 分类: 小程序小程序 浮动 拖拽 按钮不借助movable-area自带的组件&#xff0c;实现拖拽效果wxmljs&#xff1a;var startPoint;Page({data: {buttonTop: 0,buttonLeft: 0,windowHeight: ,windowWidth: },onLoad: function (options) {var that…

axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例

实现全局loading加载分析需求&#xff0c;我们只需要在请求发起的时候开始loading&#xff0c;响应结束的时候关闭loading&#xff0c;就这么简单 对不对&#xff1f;import axios from axios;import { Message, Loading } from element-ui;import Cookies from js-cookie;impo…

android ui自动化框架选型,Appium UI 自动化框架之我见 (开源)

APP UI Automation Framework一个基于 Appium 1.8.1、TestNG&#xff0c;Page Object 模式开发的 UI 自动化测试框架介绍文档结构图基本功能每秒生成一次截图通过 xml 配置待执行的测试用例通过 yml 指定待执行测试的设备及 Appium 端口用例执行失败自动重试&#xff0c;且重试…

长虹android电视安装apk,长虹电视通过安卓手机安装沙发管家教程

‍本文教程适用于长虹电视LED39(48/50/55)C 2080i等相类似型号&#xff1b;【安装步骤简介】安卓手机安装沙发管家手机版--手机和智能电视/盒子用同一个路由器连接--沙发管家手机版推送安装【操作方法详情】1、使用您的安卓手机下载并安装沙发管家手机版&#xff1a;http://pub…

1使用技巧_新版PubMed使用技巧1

以下分享适合小白&#xff0c;高手请绕路。PubMed是许多医学生以及科研人员必备的检索系统&#xff0c;高效的利用PubMed可以节省很多时间。本文从以下几个方面简单讲解新版PubMed的使用技巧1&#xff1a;1、PubMed基本介绍&#xff1b;2、PubMed的高级检索。后期分享使用技巧2…

android 调用系统下载apk,如何在自己的App中调用Android系统自带的安装/卸载程序...

AppUtils里面写了如何安装和卸载apk(这段代码出自这里&#xff1a;点击打开链接~)&#xff0c;这里的安装和卸载调用的是Android本身的一个安装卸载&#xff0c;所以可能页面不会太优雅&#xff0c;并不符合商业App的期望&#xff0c;如果要做到更优雅的实现&#xff0c;就要用…

switch matlab c语言,matlab switch语句使用

switch 块有条件地执行一组语句从几个选择。每个选项所涵盖的一个 case 语句。计算 switch_expression 是一个标量或字符串。计算case_expression是标量&#xff0c;标量或字符串的字符串或单元阵列。switch 块测试每个 case &#xff0c;直到其中一个 case 是 true 。case 是 …

HTML列表内容自动排序,JS实现HTML表格排序功能

本文实例为大家分享了JavaScript实现HTML表格排序功能&#xff0c;供大家参考&#xff0c;具体内容如下HTML代码&#xff1a;click meclick meclick meclick me15.437001.220阿7.0543,000炳30.62302,558,800和22.3056瞎26.310.65-63.1674子JavaScirpt代码&#xff1a;var table…

html复选框打钩行变颜色,Excel 单元格打勾会变颜色,开发工具的复选框这样玩...

Excel中的复选框除了打钩&#xff0c;打叉之外还有什么其他功能吗&#xff1f;其实&#xff0c;这里面的学问可多了&#xff0c;可造之物也非常之多。今天&#xff0c;我就利用复选框来教大家制作一个特别的表格&#xff0c;在复选框中打钩的后&#xff0c;单元格的颜色就会随着…

js怎么图表在html中显示不出来的,基于Echarts图表在div动态切换时不显示的解决方式...

简单粗暴&#xff0c;先上图&#xff0c;大概长这样&#xff1a;在使用vue时有遇到像上图下拉框change事件切换div&#xff0c;change切完后大概会变成这个样子&#xff1a;上代码&#xff1a;{{ option.text }}{{selected}}export default{name:"test",data(){retur…

【UML】第13篇 序列图(2/2)——建模的方法

目录 三、序列图建模 3.1 概述 3.2 建模的步骤 3.3 举例说明步骤 1.确定主要场景和流程 2.确定参与的对象 3.绘制序列图 4.注意事项 3.4 特殊的情况 序列图是我个人认为&#xff0c;UML中最重要的图之一。 而且序列图&#xff0c;对于业务建模&#xff0c;也有非常好…

如何创建计算机的桌面快捷方式,怎么设置桌面快捷方式,怎么创建快捷方式到桌面...

很多win7系统用户反映说遇到这样一个问题&#xff0c;就是电脑上从文件服务器创建的快捷方式就会自动被删除&#xff0c;自己重新创建之后&#xff0c;过几天重新启动win7系统的时候&#xff0c;那些快捷方式又会自动被删除不见了&#xff0c;怎么办呢&#xff0c;下面以win7 3…

哥大计算机专业 世界排名,哥伦比亚大学计算机科学硕士排名第16(2020年TFE Times排名)...

哥伦比亚大学实力介绍哥伦比亚大学除去常青藤的榜首地位&#xff0c;研究生的金融工程 更是被人们称为是金工届的magic seven 并且商学院以及MBA项目是很多人垂涎已久的。更有远近闻名的国际公共关系事物学院&#xff0c;以及新闻专业。2020年TFE Times美国计算机科学硕士排名参…