Android微信SDK API 调用教程

2023-11-11

最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走。

1、申请App_ID 

2、填写包名3、

获取程序签名的md5值,

这三步只要你走对了就能调通,可是大家都不知道有时候我们Eclipse调用的keystore和我们打包的keystore获取到的程序签名的md5是不一样的。而且是每一个keystore对应生成的apk的值都会不一样。我们在申请的时候填的程序签名值是正式打包的,但我们在eclipse部署上去的却是用的我们默认的debug.keystore.而这样导致的后果就是程序签名不一样,会一直调不通。甚至我们都不知道我们错在哪。

先说一下怎么部署微信官网下的demo吧:【下面引用的内容为微信官网】

微信对Android  API调用是需要严格 的三个验证,只有app_id包名和程序签名完全对了的情况下才可以调得通。

如何运行sdkdemo工程

 

1、解压sdk demo工程压缩包,并导入到workspace,如下图:

 

2、选择Eclipse顶部菜单Window->Preferences,在弹出的对话框中,选择Android目录下的Build,如下图:

 

 

指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件,如下图:


并应用该配置。

 

3、运行该sdk_sample工程。

 

好了,按以上三步走,你就能走通微信的DEMO,现在再来看我们自己的DEMO

1、custom Debugkeystore:换成我们自己的keystore

 

为方便你可以直接复制上面的default Debug keystore,然后接着走第二步

2、装上我们的应用到手机端,再去微信官网下载一个获取程序签名md5值的apk输入包名:

 

3、去微信后台申请我们调试的应用:

 

接着再写上示例代码中的代码:

[java]  view plain copy print ?
  1. private Button btn_share;  
  2.    public static final String WX_APP_ID = "wxc85b9dbef61b3fe4";  
  3.    
  4.    private IWXAPI api;  
  5.    
  6.    private String text="testssss";  
  7.    @Override  
  8.    public void onCreate(BundlesavedInstanceState) {  
  9.       super.onCreate(savedInstanceState);  
  10.       setContentView(R.layout.main);  
  11.    
  12.       btn_share = (Button)findViewById(R.id.btn_share);  
  13.    
  14.       api = WXAPIFactory.createWXAPI(this, WX_APP_ID,false);  
  15.        
  16.        
  17.        
  18.    
  19.       btn_share.setOnClickListener(new OnClickListener() {  
  20.    
  21.          @Override  
  22.          public void onClick(View v) {  
  23.             api.registerApp(WX_APP_ID);  
  24.             // 初始化一个WXTextObject对象  
  25.             WXTextObjecttextObj = newWXTextObject();  
  26.             textObj.text = text;  
  27.    
  28.             // 用WXTextObject对象初始化一个WXMediaMessage对象  
  29.             WXMediaMessagemsg = newWXMediaMessage();  
  30.             msg.mediaObject = textObj;  
  31.             // 发送文本类型的消息时,title字段不起作用  
  32.              msg.title = "Will be ignored";  
  33.             msg.description = "sdddd";  
  34.    
  35.             // 构造一个Req  
  36.             SendMessageToWX.Reqreq = newSendMessageToWX.Req();  
  37.             req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求  
  38.             req.message = msg;  
  39.             //req.scene = SendMessageToWX.Req.WXSceneTimeline ;  
  40.              
  41.             // 调用api接口发送数据到微信  
  42.             api.sendReq(req);  
  43.             finish();  
  44.          }  
  45.       });  
  46.    }  
  47.    
  48.    private StringbuildTransaction(finalString type) {  
  49.       return (type == null) ? String.valueOf(System.currentTimeMillis())  
  50.             :type + System.currentTimeMillis();  
  51.    }  

至此,大功告成。千万别忘记你程序打包用的keysotre再用那个微信提供的程序打包获取到签名和你在eclpise程序部署获取到的签名是不一样的。我们可以再申请一个正式的应用,填写信息可以完全一样,但是只要改掉


和你的app_id


微信获取程序签名工具下载地址:http://open.weixin.qq.com/download/sdk/gen_signature.apk

不知道大家是否有看通。如果再有疑问的话可以加我。希望此文章能帮助到正在用微信API的Android码农们。

如需转载引用请注明出处:http://blog.csdn.net/jiahui524

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android微信SDK API 调用教程 的相关文章

  • 如何为ScrollView放置固定图像背景?

    我应该想要滚动视图滚动 而不是背景中的图像 将图像添加到滚动视图框架之前的视图层次结构的较高位置
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef

随机推荐

  • .NET6 using

    在 net 6 的应用程序中 using 语句去了哪里 net 5 中 using 语句直接写在文件顶端就可以了 但是在 net 6 中 main函数被隐式的执行 文件最顶部也找不到 using 指令了 找了找其他文件 发现在obj gt
  • WebSocket connection to 'ws://xxxxxx/ws/' failed: Unexpected response code: 502

    在使用reactJs开发一个项目的时候在适配Android的时候遇到这个问题 首先 前提是这个webscoket地址是可以使用的 并且在电脑浏览器上是可以正常的 其次 Android7 0以上的原生浏览器上是正常的 国内其他机型自带浏览器不
  • CentOS7 创建用户及更改其属组与属主(账户管理与权限)

    CentOS 7 是一个广泛使用的 Linux 发行版 基于源代码 Red Hat Enterprise Linux RHEL 它以其稳定性 安全性和长期支持而闻名 以下是 CentOS 7 的一些主要功能 1 内核 CentOS 7 使用
  • 43道JavaScript面试题

    1 下面代码的输出是什么 function sayHi console log name console log age var name Lydia let age 21 sayHi 复制 A Lydia 和 undefined B Ly
  • go.mod提示 Unresolved reference 错误解决

    问题 go mod 文件中引入的路径都变红 导入包失败 解决 启动 Enable Go modules integration
  • 驱动程序之_1_字符设备_4_fasync机制

    驱动程序之 1 字符设备 4 fasync机制 fasync机制是异步通知机制 当驱动程序向应用程序发送信号量 触发应用程序的信号处理函数 以达到类似中断的效果 驱动程序中 1 在文件专属的fasync函数中 调用了fasync helpe
  • (五) 空间查询

    Chapter 5 Spatial Queries 译 章节5 空间查询 The raison d etre of spatial databases is to perform queries inside the database wh
  • 密码正确登入不了网络计算机,windows远程登录密码正确但登录不上

    1 第一种情况 安全策略问题 开始 gt 运行 gt gpedit msc gt 计算机配置 gt Windows设置 gt 安全设置 gt 本地策略 gt 安全选项 gt 网络访问 本地帐户的共享和安全模型 修改为使用经典模式 2 第二种
  • 目标检测——R-CNN网络基础

    目录 Overfeat模型 RCNN模型 算法流程 候选区域生成 CNN网络提取特征 目标分类 SVM 目标定位 预测过程 算法总结 Fast RCNN模型 算法流程 ROI Pooling 目标分类和回归 模型训练 模型总结 Overfe
  • vue 后台管理系统引入地图选点插件获取经纬度

    地图插件文档 https elemefe github io vue amap 下载引入插件 npm install save vue amap 在main全局引用插件 引入vue amap import VueAMap from vue
  • Anconda中创建了虚拟环境,安装了各种第三方库,但是pycharm中却不会使用的解决办法

    解决方法 打开Pycharm gt File gt Settings gt Project Interpreter gt 左键点击add 按照1 2 3的顺序进行点击 Conda executable不需要管 找到安装Anaconda的盘
  • IBM HR Analytics 员工流失 EDA 和可视化绩效分析

    IBM HR Analytics 员工流失与绩效分析 背景 导入库 输出前五行 数据清洗 检查空值 删除不必要的列 可视化 商务旅行直方图 离家的距离箱形图 教育与数字公司的关系 年龄和月收入散点图 按教育领域和工作角色划分的工作满意度 相
  • 使用 Ray 将 PyTorch 模型加载速度提高 340 倍

    导读 在应用中使用深度学习的挑战之一是管理加载模型进行推理的成本 在本文中 我们将展示如何利用 PyTorch 和 Ray 的功能将这一成本几乎降至零 Introduction 深度学习模型庞大而繁琐 由于它们的大小 它们需要很长时间才能加
  • 数据挖掘项目:银行信用评分卡建模分析(上篇)

    kaggle上的Give Me Some Credit一个8年前的老项目 网上的分析说明有很多 但本人通过阅读后 也发现了很多的问题 比如正常随着月薪越高 违约率会下降 但对于过低的月薪 违约率却为0等 因此 本人写这个项目的目的是按照自己
  • 使用docker搭建部署hadoop分布式集群

    http blog csdn net xu470438000 article details 50512442 使用docker搭建部署hadoop分布式集群 标签 dockerhadoop集群 2016 01 13 18 16 2005人
  • 单JS心跳网站初稿

    客户端定时向服务端请求数据 根据返回数据作出相应的处理 客户端按用户操作向服务端发送用户操作数据 服务端根据每个客户端生成数据集 保存到数据库 服务端根据客户端发送过来的用户操作数据生成操作列表 服务端根据操作列表逐个生成不同的心跳包返回给
  • C++中智能指针详解

    1 问题引入 在C 中 静态内存和栈内存外 还有一部分内存称为堆程序用堆来存储动态分配的对象即那些在程序运行时分配的对象 当动态对象不再使用时 我们的代码必须显式的销毁它们 在C 中一般使用 new 在动态内存中为对象分配一块空间并返回一个
  • 【猛地学】Vue2基础学习笔记(尚硅谷vue2)

    vue2基础 vue实例和容器
  • 数据库事务详解

    概述 事务 Transaction 是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元 ACID 事务具有4个基本特征 分别是 原子性 Atomicity 一致性 Consistency 隔离性 Isolation 持久
  • Android微信SDK API 调用教程

    最近一直在调用微信的API 却发现一直调用不成功 纠结了好久 各方面找教程 找官方 官方里的文档也只是写得很模糊 说是按三步走 1 申请App ID 2 填写包名3 获取程序签名的md5值 这三步只要你走对了就能调通 可是大家都不知道有时候