解除微信回调的Activity必须在包名.wxapi下的限制

news/2024/7/5 4:27:42
  1. 很久以前写过一篇文章:Android打包之多版本、多环境、多渠道。里面主要提到了将测试环境和正式环境的包分成不同的包名,同时安装在手机上,以便我们调试。同时,通过manifest的占位符,动态替换icon和label,让使用者一看这个包的名称和图标,就能知道这是什么环境的包。

  2. 然而,不同的环境分成不同的包名,固然是好用,但是导致了一个问题:微信回调的Activity必须在包名.wxapi。因此呢,为了解决这个问题,我之前都是写一个实际处理回调的AbsWxEntryActivity,然后按照微信的规则新建几个子包,里面新建几个WxEntryActivity继承实际处理的AbsWxEntryActivity,自己啥都不干。

  3. 这个方案也不是说不可以,但是总觉得有点累赘,后来,看ShareLoginLib的源码时发现,它通过activity-alias的targetActivity属性巧妙解决了这个问题:

有了它,.wxapi这个讨厌的尾巴就可以干掉了。activity-alias里面的name都是一个虚拟的占位符而已,会被重定向到实际处理的activity。


http://lihuaxi.xjx100.cn/news/239132.html

相关文章

二次开发photoshop_Photoshop 101:Web开发人员简介

二次开发photoshop介绍 (Introduction) Often, when working as web developer, we need to integrate templates. They can be from Photoshop or other software. In this article, we will have a look at the basics of Photoshop for web developers.通常,在作…

基于web创建逼真的3D图形 | CSS技巧

在成为一名web开发者之前,我从事于视觉设计行业,创造屡获殊荣,电影和电视节目等高端3D效果,例如 Tron, The Thing, Resident Evil,和 Vikings 。为了能够创造这些效果,我们需要使用高度复杂的动画软件,例如…

linux error log 换行,日志提示

日志提示线上问题,需要看日志。控制台可以打印Mybatis操作的SQL语句。开发流程:第一步:加入依赖image.png第二步:在项目的resources中加入log4j属性文件image.png第三步:演示image.png扩展了解一、日志概念的介绍Log4j…

快速 开发平台 架构_快速介绍清洁架构

快速 开发平台 架构by Daniel Deutsch由Daniel Deutsch 快速介绍清洁架构 (A quick introduction to clean architecture) In an open source project I started to contribute to, the concept of “clean architecture” was brought to me.在一个我开始参与的开源项目中 &a…

安装Python的wx库

2019独角兽企业重金招聘Python工程师标准>>> 遇到问题1:pip不是内部或外部命令,也不是可运行的程序 解决办法:修改环境变量:变量值改为:C:\Python27\;C:\Python27\Scripts; 遇到问题2:wxPython.…

Solaris下ftp配置(初稿-待补充)

1.自带ftp版本 Version wu-2.6.2 2.ftp启动与停止 启动并启用ftp: svcadm enable network/ftp 停止并禁用ftp: svcadm disable network/ftp 3.使某个系统用户无法使用ftp或者恢复使用ftp vi /etc/ftpd/ftpusers 向其中添加要禁止使用ftp的…

c语言程序学生成绩系统论文,c语言程序设计-学生成绩管理系统论文.doc

c语言程序设计-学生成绩管理系统论文C语言程序设计课程设计报告- PAGE 11 -中南民族大学工商学院电子信息与计算机技术系项目名称: 学生成绩管理系统学生姓名:学 号:班 级:指导教师:20年月日学生成绩管理系统目录TOC \…

three.ar.js_我们如何通过AR.js使产品吉祥物栩栩如生

three.ar.jsby Mateusz Tarnaski由Mateusz Tarnaski 我们如何通过AR.js使产品吉祥物栩栩如生 (How we brought our product mascot to life with AR.js) Short answer: using a browser-based Augmented Reality (AR) application. For the long answer, read below.简短答案&…