android接入微信API相关细节

news2024/11/26 12:37:48

细节1

想要接入微信,如接入分享微信功能、跳转小程序功能等;首先需要到微信开放平台申请AppId,如何申请在开放平台上的流程很清楚,就不赘述了

但有个细节就是应用包名签名,这个应用包名签名记得是以app有正式签名文件条件下获取的,先打包出release apk,再用签名生成工具输入包名即可获得应用签名
在这里插入图片描述

细节2

很多时候为了快速方便的接入,可能微信那么多的文档,比如我这次接入的是拉起微信小程序,但微信开放平台给的文档很简单:
在这里插入图片描述
好吧,为了快速接入,我也不管那么多,前面的接入指南都没看就直接写上代码了,出现了以下报错:

E/MicroMsg.SDK.WXApiImplV10: sendReq failed for wechat app signature check failed

最后通过反复折腾,原来是还没有register微信SDK,并且Manifest.xml文件也没配好

  1. AndroidManifest.xml配置
<manifest ....>
	....

<!--    跟微信相关的必须添加-->
    <queries>
        <package android:name="com.tencent.mm" />
    </queries>

    .....
</manifest>
  1. 注册SDK
    在app入口界面(比如MainActivity)注册SDK
fun regToWx(context: Context) {
    // 通过 WXAPIFactory 工厂,获取 IWXAPI 的实例
    val api = WXAPIFactory.createWXAPI(context, APP_ID)

    // 将应用的 appId 注册到微信
    api.registerApp(APP_ID)

    //建议动态监听微信启动广播进行注册到微信
    context.registerReceiver(object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            // 将该 app 注册到微信
            api?.registerApp(APP_ID)
        }
    }, IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP))
}

细节3

在包名下创建:WXEntryActivity,继承Activity,实现IWXAPIEventHandler接口
其中的细节
比如app的应用包名为:com.company.test,那么WXEntryActivity则必须建在com.company.test.wxapi的包中,因为有时候遇到了组件化开发/插件化开发时候,会习惯性以模块作为包名,从而导致了包名错误,无法正常使用微信AP
最后再在AndroidManifest.xml中配置:

<activity
    android:name="com.company.test.wxapi.WXEntryActivity"
    android:exported="true"
    android:taskAffinity="com.company.test"
    android:launchMode="singleTop" />

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

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

相关文章

WebDAV之葫芦儿·派盘+思源笔记

思源笔记 支持webdav方式连接葫芦儿派盘。 想要一款支持全平台,支持Markdown语法,还支持大纲、块级双向链接、全文搜索、标签分类、数学公式、思维导图 / 流程图、代码片段、跨平台同步等全功能的笔记APP吗?推荐您使用思源笔记与葫芦儿派盘结合方案。 思源笔记是一款本地…

位 运 算

位运算符 在处理整形数值时&#xff0c;可以直接对组成整形数值的各个位进行操作。这意味着可以使用屏蔽技术获得整数中的各个位&#xff08;&#xff1f;&#xff1f;&#xff09; &(与)、|(或)、^(异或)、~(非/取反) “>>” 和 “<<” 运算符将二进制位进行…

06 Job/CronJob: 为什么不直接用Pod来处理业务?

文章目录1. 前言2. 为什么不直接使用pod?2.1 面向对象的设计思想3. 为什么要有Job/CronJob3.1 离线业务的种类4. 如何使用 YAML 描述 临时任务 Job4.1 Job 的 YAML“文件头”4.2 使用kubectl create 生成模板文件4.3 Job 的 YAML body 部分“spec ”4.4 如何在Kubernetes 里操…

【C++ STL容器】:vector存放数据

前言 时不可以苟遇&#xff0c;道不可以虚行。 STL 中最常用的容器为&#xff1a;vector&#xff0c;暂且把它理解为我们之前学过的数组Array。 一、创建一个vector容器&#xff08;数组&#xff09; 添加头文件&#xff1a;#include <vector> vector<int> v;二、…

数商云渠道商协同系统对机械企业的应用价值体现

当前&#xff0c;国内机械市场环境较复杂&#xff0c;竞争日趋激烈&#xff0c;使用单一营销渠道模式已不能适应多变的环境&#xff0c;而代理商群体作为机械行业主流营销渠道&#xff0c;也在“价格战”环境下生存空间被进一步挤压&#xff0c;因此&#xff0c;如何采用领先的…

小啊呜产品读书笔记001:《邱岳的产品手记-13》第24讲 产品案例分析:PathSource的混乱与直观 25讲 产品世界的暗黑模式:操纵的诱惑

小啊呜产品读书笔记001&#xff1a;《邱岳的产品手记-13》第24讲 产品案例分析&#xff1a;PathSource的混乱与直观 & 第25讲 产品世界的暗黑模式&#xff1a;操纵的诱惑一、今日阅读计划二、泛读&知识摘录1、第24讲 产品案例分析&#xff1a;PathSource的混乱与直观2、…

进程与信号(一)

目录 一、前言 二、What Is a Process 三、Process Structure 1、The Process Table 2、Viewing Processes 3、System Processes 4、Process Scheduling 一、前言 进程和信号是 Linux 操作环境的基本组成部分。它们控制 Linux 和所有其他类 unix 计算机系统执行的几乎所…

全新版互联网大厂面试题,分类65份PDF,累计2000页

全新版互联网大厂面试题题库非常全面 包括 Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaS…

github-将本地代码上传到github上

1. 步骤&#xff1a; 准备&#xff1a;因为本地和远程是通过ssh加密的&#xff0c;所以需要生成秘钥和私钥 ssh-keygen -t rsa -C "youremailexample.com" "" 双括号里的是 关联 github的个人邮箱 cmd 里 输入 上述指令&#xff0c;然后 按三次 ent…

MySQL 进阶篇1.0

01-课程介绍 02-存储引擎-MySQL体系结构 03存储引擎-简介 查询建表语句 --默认存储引擎:InnoDBshow create table account; 查询当前数据库支持的存储引擎show engines; 04存储引擎-InnoDB介绍 开关为"ON": 表示每个innodb引擎的表都有一个idb表共享文件 …

2012-04 《信息资源管理 02378》真卷解析,逐题解析+背诵技巧

本系列博客合计 21 篇&#xff0c;每篇都将解析一张《信息资源管理》真卷&#xff0c;并附带答案解析与背诵技巧。 全国 2012 年 4 月自学考试信息资源管理试题&#xff08;02378&#xff09; 单选题 1、作为现代社会的支柱产业&#xff0c;信息产业的主体有&#xff1a;信息…

【雕爷学编程】Arduino动手做(109)---3路电压转换模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

MySQL 数据库 group by 语句怎么优化?

一、一个简单使用示例 我这里创建一张订单表 CREATE TABLE order_info ( id int NOT NULL AUTO_INCREMENT COMMENT 主键, order_no int NOT NULL COMMENT 订单号, goods_id int NOT NULL DEFAULT 0 COMMENT 商品id, goods_name varchar(50) NOT NULL COMMENT 商品名称, …

Kamiya丨Kamiya艾美捷狗CRP ELISA说明书

Kamiya艾美捷狗CRP ELISA预期用途&#xff1a; 狗CRP ELISA是一种高灵敏度的双位点酶联免疫分析&#xff08;ELISA&#xff09;&#xff0c;用于定量测定狗生物样品中的C反应蛋白&#xff08;CRP&#xff09;。仅供研究使用。 引言 急性期蛋白质是血浆蛋白质&#xff0c;其在…

开发者实践|如何实现云开发场景联动(内附结构图和教学视频)

一千个住户有一千种生活习惯&#xff0c;智能家居如何才能根据用户个性化的需求&#xff0c;实现真正的“智能”&#xff1f;这就需要家居产品之间智能排列&#xff0c;组合成多样化的场景联动模式。 下面我们就来说说如何通过Tuya OpenAPI来实现云开发场景联动&#xff0c;满…

使用 qrcode 生成二维码

qrcode 1 安装2 引入3 使用3.1 方法1 &#xff1a;QRCode.toCanvas()3.2 方法2 &#xff1a;QRCode.toDataURL()4 完整示例qrcode 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成 1 安装 npm install --save qrcode2 引入 …

本地部署开发环境过程和遇到的问题总结

一、 软件安装&#xff0c;环境配置 安装配置jdk(不能只有jre)安装配置maven安装配置git安装idea 二、拉项目 在云效代码管理中选择对应的库&#xff0c;复制其仓库地址 在idea中配置git 参考https://blog.csdn.net/qq_62701769/article/details/125029536 拉代码 URL输入…

叠氮试剂知识整理:6-azidohexan-1-amine|349553-73-7|6-叠氮基己胺

产品描述&#xff1a; 6-azidohexan-1-amine呈淡黄色或无色油状&#xff0c;含有叠氮基。叠氮化物可以与炔烃、DBCO和BCN进行铜催化的点击化学反应。NHS酯可以与胺基反应&#xff0c;形成稳定的酰胺键。点击化学反应效率高&#xff0c;即使在低浓度(μM)和低温(4oc)下&#xff…

安卓蓝牙耳机哪个牌子好?安卓手机蓝牙耳机推荐

目前&#xff0c;蓝牙耳机迅速流行于人们的视野当中&#xff0c;在各种场合中&#xff0c;肯定少不了一款蓝牙耳机&#xff0c;但现在的运动耳机可谓五花八门&#xff0c;虽然苹果手机广泛于市场&#xff0c;但是安卓品牌也在不断的采用最新技术的研发&#xff0c;下面是小编整…

Baklib知识分享|企业产品需求文档的特点

产品或服务是公司的核心。没有产品就没有业务。 虽然我们一直在努力追求卓越的产品&#xff0c;但我们有可能不能够达成目标。你可能经常基于你对产品的基本想法来构建产品。有时&#xff0c;您可能只是运行迭代或向您的产品团队提出特性需求。你不能只是临时拼凑一些构成你业…