通过weixin://来打开微信客户端:

<a href="weixin://">打开微信</a>
<a href="weixin://dl/business/?ticket=xxx">微信内打开网页</a>

协会说明:

微信跳转入口:

通过反编译,看到weixin://协议的入口定义为WXCustomSchemeEntryActivity,那就是浏览器访问以weixin为scheme的请求时就会打开微信内的WXCustomSchemeEntryActivity

<activityandroid:name="com.tencent.mm.plugin.base.stub.WXCustomSchemeEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:excludeFromRecents="true"android:exported="true"android:launchMode="singleTop"android:taskAffinity=".wxpayentry"android:theme="@style/mm"><intent-filter><data android:scheme="weixin" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /></intent-filter>
</activity>

内部处理

1.获取携带数据

Uri data = getIntent().getData();if (data != null) {String scheme = data.getScheme();String host = data.getHost();String query = data.getQuery();Log.i("MicroMsg.WXCustomSchemeEntryActivity", String.format("uri is %s,scheme is %s, host is %s, query is %s", data.toString(), scheme, host, query));
}

2.判断是否合法

// 校验是否非法
if (data != null) {String uri = data.getScheme() + "://" + data.getHost() + data.getPath();// qby详情看问末附录if (!qby.containsKey(uri) && !data.toString().startsWith("weixin://dl/business")) {return;}
}

3.进行跳转

根据url对应的地址,调用微信内的路由组件进行跳转。

所有协议

HashMap qyb = new HashMap();
qyb.put("weixin://", 0L);
qyb.put("weixin://dl/stickers", 1L);
qyb.put("weixin://dl/games", 2L);
qyb.put("weixin://dl/moments", 4L);
qyb.put("weixin://dl/add", 8L);
qyb.put("weixin://dl/shopping", 16L);
qyb.put("weixin://dl/groupchat", 32L);
qyb.put("weixin://dl/scan", 64L);
qyb.put("weixin://dl/profile", 128L);
qyb.put("weixin://dl/settings", 256L);
qyb.put("weixin://dl/general", 512L);
qyb.put("weixin://dl/help", 1024L);
qyb.put("weixin://dl/notifications", 2048L);
qyb.put("weixin://dl/terms", 4096L);
qyb.put("weixin://dl/chat", 8192L);
qyb.put("weixin://dl/features", 16384L);
qyb.put("weixin://dl/clear", 32768L);
qyb.put("weixin://dl/feedback", 65536L);
qyb.put("weixin://dl/faq", 131072L);
qyb.put("weixin://dl/recommendation", 262144L);
qyb.put("weixin://dl/groups", 524288L);
qyb.put("weixin://dl/tags", 1048576L);
qyb.put("weixin://dl/officialaccounts", 2097152L);
qyb.put("weixin://dl/posts", 4194304L);
qyb.put("weixin://dl/favorites", 8388608L);
qyb.put("weixin://dl/privacy", 16777216L);
qyb.put("weixin://dl/security", 33554432L);
qyb.put("weixin://dl/wallet", 67108864L);
qyb.put("weixin://dl/businessPay", 134217728L);
qyb.put("weixin://dl/businessPay/", 134217728L);
qyb.put("weixin://dl/wechatout", 268435456L);
qyb.put("weixin://dl/protection", 1073741824L);
qyb.put("weixin://dl/card", 2147483648L);
qyb.put("weixin://dl/about", 1125899906842624L);
qyb.put("weixin://dl/blacklist", 4294967296L);
qyb.put("weixin://dl/textsize", 8589934592L);
qyb.put("weixin://dl/sight", 17179869184L);
qyb.put("weixin://dl/languages", 34359738368L);
qyb.put("weixin://dl/chathistory", 68719476736L);
qyb.put("weixin://dl/bindqq", 137438953472L);
qyb.put("weixin://dl/bindmobile", 274877906944L);
qyb.put("weixin://dl/bindemail", 549755813888L);
qyb.put("weixin://dl/securityassistant", 1099511627776L);
qyb.put("weixin://dl/broadcastmessage", 2199023255552L);
qyb.put("weixin://dl/setname", 4398046511104L);
qyb.put("weixin://dl/myQRcode", 8796093022208L);
qyb.put("weixin://dl/myaddress", 17592186044416L);
qyb.put("weixin://dl/hidemoments", 35184372088832L);
qyb.put("weixin://dl/blockmoments", 70368744177664L);
qyb.put("weixin://dl/stickersetting", 140737488355328L);
qyb.put("weixin://dl/log", 281474976710656L);
qyb.put("weixin://dl/wechatoutcoupon", 562949953421312L);
qyb.put("weixin://dl/wechatoutshare", 18014398509481984L);
qyb.put("weixin://dl/personalemoticon", 4503599627370496L);
qyb.put("weixin://dl/designeremoji", 9007199254740992L);
qyb.put("weixin://dl/sightdraft", 576460752303423488L);
qyb.put("weixin://dl/jumpWxa/", 576460752303423489L);
qyb.put("weixin://dl/offlinepay/", 576460752303423490L);

转载于:https://www.cnblogs.com/feixiablog/p/10755933.html

微信weixin://xxx 分析相关推荐

  1. 微信web协议分析和实现微信机器人

    微信web协议分析和实现微信机器人(微信网页版 wx2.qq.com) 1.打开首页,分配一个随机uuid, 2.根据该uuid获取二维码图片. 3.微信客户端扫描该图片,在客户端确认登录. 4.浏览 ...

  2. 微信weixin小程序开发源码资源学习教程汇总

    微信weixin小程序开发源码资源学习教程汇总 目录 官方文档 工具 插件 教程 视频教程 文章 组件 Demo 置顶 WePY:组件化的小程序开发框架 ? WePY 开发资源汇总 ? 官方文档 小程 ...

  3. css3中-moz、-ms、-webkit,-o分别代表的意思,以及微信浏览器内核分析

    css3中-moz.-ms.-webkit,-o分别代表的意思,以及微信浏览器内核分析 这种方式在业界上统称:识别码.前缀 //-ms代表[ie]内核识别码 //-moz代表火狐[firefox]内核 ...

  4. java 记录微信转发次数_微信分享追踪分析系统 ,可以精细统计朋友圈访客来访次数及时间和转发...

    当然,用同样的方式把你的项目或活动单独发给客户或是进行群发,易推创意-微信分享追踪分析系统后台同样或把你浏览次数多的时间长的客户直接抓取出来,提升了工作效率,业绩自然就提升了. 易推创意-微信分享追踪 ...

  5. 电脑端多开微信及其原理分析

    文章目录 电脑端多开微信及其原理分析 相关内容:Python 实用内容 1.如何实现 - CMD 代码版本 2.如何实现 - python 代码版本 3.启动原理 电脑端多开微信及其原理分析 相关内容 ...

  6. 用Python对微信好友进行分析

    用了微信几年了,微信号有也不少了,但是真正了解自己的好友吗?好友最多的城市是哪个?好友男女比例是多少?好友签名都是什么?今天我们来充分了解自己的微信好友. 运行平台: Windows  Python版 ...

  7. 小Q同学的微信账单可视化分析(Tableau)

    Tableau微信账单可视化分析 先用python对小Q同学在2019-11.2019-12.2020-01三个月的微信账单数据进行简单的描述性分析,并将结果输出到excel文件中,再将excel文件 ...

  8. 微信web协议分析和实现微信机器人(微信网页版 wx2.qq.com)

    转载自:https://segmentfault.com/a/1190000004471678 1.打开首页,分配一个随机uuid, 2.根据该uuid获取二维码图片. 3.微信客户端扫描该图片,在客 ...

  9. 微信QQ聊天记录分析工具-微Q

    1.背景 忙了一周,从设计算法到编程,到部署服务器,到最后的UI实现,终于我的微Q诞生了. 用起来非常的简洁,只要把微信或者qq的聊天记录导出来,是个txt文件,导入微Q,手机端也能用,它就能帮你分析 ...

最新文章

  1. 适配器模式:我真的不难
  2. POJ 2449 Remmarguts' Date(k短路模板)
  3. 多线程环境中安全使用集合API(含代码)
  4. python添加库详细教程_Python 中如何自动导入缺失的库?|python基础教程|python入门|python教程...
  5. 限时免费 | 人工智能项目实战训练营,给你一个成为AI算法工程师的机会
  6. java 中的 Scanner
  7. 面试题分享【不断更新】
  8. Activemq-In-action(二)
  9. HTML-唯美二次元百度引导页面源码
  10. Android Service 播放音乐
  11. 8051蜂鸣器程序c语言,蜂鸣器报警声C51程序
  12. 机器学习教程之语义分割入门教程
  13. MicroPython ESP32 ADC(模拟量转数字量)示例
  14. 正则表达式:JAVA正则表达式运用
  15. 海康iv4200支持多少_安防工程神器-海康安防计算器功能介绍
  16. 论单片机IO引脚驱动能力的提高
  17. 基于FlashWavRecorder实现IE11浏览器录音后用科大讯飞转文字
  18. 我在b站学数据库 (七):多表操作
  19. micropython 驱动_Micropython 飞控 驱动 3.MPU9250
  20. nginx负载均衡面试题

热门文章

  1. 分享你一定不知道的10 款小工具
  2. 2021观澜二中高考成绩查询,深圳中学排名
  3. Spring Security小教程 Vol 3. 身份验证的入口-AbstractAuthenticationProcessingFilter
  4. 「实在RPA学院」电商运营36计:企微批量自动加好友
  5. 【原创】快速估算和管理
  6. a boo peek_|音译|171120*歌词ΓRed Velvet - Peek-A-Boo
  7. 罗尔(Rolle)、拉格朗日(Lagrange)和柯西(Cauchy)三大微分中值定理的定义
  8. 4.分支语句和循环语句
  9. Tomcat IP访问限制
  10. 《Python自然语言处理》——第1章 语言处理与Python 1.1 语言计算:文本和词汇...