全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android编程实现点击链接打开APP功能示例

本文实例讲述了Android编程实现点击链接打开APP功能。分享给大家供大家参考,具体如下:

在Android中点击链接打开APP是一个很常见的需求。例如,电商为用户发送优惠券之后经常会下发一条短信:某某优惠券已发送到您的账户中,点击 xxx 链接即可查看!此时当用户点击链接之后会直接打开本地APP,进入相关页面。

功能实现:

1.在manifest中为相应的activity添加intent-filter:

<activity
   android:name=".TestActivity">
   <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data
        android:host="mywebsite.com"
        android:pathPrefix="/openApp"
        android:scheme="http" />
   </intent-filter>
</activity>

2.在手机上模拟发一条短信,包含链接 http://mywebsite.com/openApp ,手机一般都能自动识别链接,点击链接后系统会弹出选择框,如下:

点击自己的APP(AndroidTest)之后,系统就会自动打开AndroidTest这个程序的TestActivity这个页面。

3.然而,上述做法显然是不完美的,因为用户很可能会选择浏览器打开此链接!为了解决这个问题,可以将scheme属性修改为自定义的,例如:

<data
   android:host="mywebsite.com"
   android:pathPrefix="/openApp"
   android:scheme="myapp" />

此时,对应的链接地址为 myapp://mywebsite.com/openApp . 因为手机本地只有我们自己的程序能够识别 myapp 这个协议,所以会直接打开APP。然而依旧存在问题:

(1)如果把该链接放在网页上,希望希望用户点击链接后打开APP,那么上述做法是没有问题的。例如网页中添加如下代码即可:

<a href='myapp://mywebsite.com/openApp'>点击打开APP</a>

(2)但是,如果把链接放在短信中就不行了。因为 myapp 这个协议系统的短信程序也不能识别,所以不会标记为链接样式,也就是说用户不能直接点击。

解决该问题的方法是使用网页重定向功能,例如在短信中发送链接: http://abc.com/openApp ,然后在该网页上添加重定向:
复制代码 代码如下:<meta http-equiv="Refresh" content="0;url=myapp://mywebsite.com/openApp?name=zhangsan&age=20" />

用户在短信中点击后会使用浏览器打开链接,然后自动打开自己的APP。

4.最后,在TestActivity中可以获取链接url传递的参数:

Intent intent = getIntent();
String action = intent.getAction();
if (Intent.ACTION_VIEW.equals(action)) {
   Uri uri = intent.getData();
   if (uri != null) {
     String name = uri.getQueryParameter("name");
     String age = uri.getQueryParameter("age");
     Toast.makeText(this, "name=" + name + ",age=" + age, Toast.LENGTH_SHORT).show();
   }
}

PS:关于AndroidManifest.xml文件相关属性功能可参考本站在线工具:

Android Manifest功能与权限描述大全:
http://tools./table/AndroidManifest

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android开发入门与进阶教程》、《Android编程之activity操作技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # 点击  # 链接  # 打开  # APP  # Android 如何使用短信链接打开APP  # Android使用内置WebView打开TextView超链接的实现方法  # Android应用中实现跳转外部浏览器打开链接功能  # 自己的  # 放在  # 操作技巧  # 后会  # 重定向  # 是一个  # 进阶  # 您的  # 就会  # 相关内容  # 都能  # 感兴趣  # 自动识别  # 给大家  # 弹出  # 很可能  # 自定义  # 不行了  # 更多关于  # 中就 


相关文章: 用v-html解决Vue.js渲染中html标签不被解析的问题  网站微信制作软件,如何制作微信链接?  深入理解Android中的xmlns:tools属性  如何自定义建站之星模板颜色并下载新样式?  建站主机服务器选型指南与性能优化方案解析  如何快速查询网址的建站时间与历史轨迹?  宝塔面板如何快速创建新站点?  如何通过虚拟主机快速完成网站搭建?  简单实现Android验证码  建站之星微信建站一键生成小程序+多端营销系统  如何构建满足综合性能需求的优质建站方案?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何登录建站主机?访问步骤全解析  模具网站制作流程,如何找模具客户?  宝塔建站后网页无法访问如何解决?  如何在Windows 2008云服务器安全搭建网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  设计网站制作公司有哪些,制作网页教程?  北京的网站制作公司有哪些,哪个视频网站最好?  制作农业网站的软件,比较好的农业网站推荐一下?  建站主机SSH密钥生成步骤及常见问题解答?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  济南企业网站制作公司,济南社保单位网上缴费步骤?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建站之星安装步骤有哪些常见问题?  Python如何创建带属性的XML节点  网站制作的步骤包括,正确网址格式怎么写?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  Bpmn 2.0的XML文件怎么画流程图  如何设计高效校园网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  韩国服务器如何优化跨境访问实现高效连接?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  如何通过主机屋免费建站教程十分钟搭建网站?  高端网站建设与定制开发一站式解决方案 中企动力  javascript中对象的定义、使用以及对象和原型链操作小结  如何在局域网内绑定自建网站域名?  实例解析Array和String方法  Python路径拼接规范_跨平台处理说明【指导】  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  Swift中switch语句区间和元组模式匹配  北京建设网站制作公司,北京古代建筑博物馆预约官网?  活动邀请函制作网站有哪些,活动邀请函文案?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  如何快速搭建安全的FTP站点? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。