博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
阅读量:6161 次
发布时间:2019-06-21

本文共 1097 字,大约阅读时间需要 3 分钟。

http://itindex.net/blog/2014/11/07/1415353560000.html

 

点击浏览器中的URL链接,启动特定的App。

首先做成HTML的页面,页面内容格式如下:

这一句就可以了。

 

各个项目含义如下所示:

scheme:判别启动的App。 ※详细后述

host:适当记述

path:传值时必须的key     ※没有也可以

query:获取值的Key和Value  ※没有也可以

 

作为测试好好写了一下,如下:

 

接下来是Android端。

首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动Activity时给予)

※必须添加项

HTML记述的内容加入<data …/>。

其中必须的内容仅scheme,没有其他内容app也能启动。

 

※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。

                 所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。

这样的话,没有问题。

 

接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的:

 
Intent i_getvalue = getIntent();  
String action = i_getvalue.getAction();  
  
if(Intent.ACTION_VIEW.equals(action)){  
    Uri uri = i_getvalue.getData();  
    if(uri != null){  
        String name = uri.getQueryParameter("name");  
        String age= uri.getQueryParameter("age");  
    }  
}
 

这样就能获取到URL传递过来的值了。

本文转自wanqi博客园博客,原文链接:http://www.cnblogs.com/wanqieddy/p/4661848.html如需转载请自行联系原作者
你可能感兴趣的文章
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>