`

android 微信 sdk api调用不成功解决方案(转)

 
阅读更多

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

1、申请App_ID

2、填写包名3、

获取程序签名的md5值,

这三步只要你走对了就能调通,可是大家都不知道有时候我们打包的keystore和我们打包的keystore获取到的程序签名的md5是不一样的。我们在申请的时候填的程序签名值是正式打包的,但我们在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

 

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

 

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

 

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

复制代码代码如下:

private Button btn_share; 
public static final String WX_APP_ID = "wxc85b9dbef61b3fe4"; 
private IWXAPI api; 
private String text="testssss"; 
@Override 
public void onCreate(BundlesavedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
btn_share = (Button)findViewById(R.id.btn_share); 
api = WXAPIFactory.createWXAPI(this, WX_APP_ID,false); 
btn_share.setOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
api.registerApp(WX_APP_ID); 
// 初始化一个WXTextObject对象 
WXTextObjecttextObj = newWXTextObject(); 
textObj.text = text; 
// 用WXTextObject对象初始化一个WXMediaMessage对象 
WXMediaMessagemsg = newWXMediaMessage(); 
msg.mediaObject = textObj; 
// 发送文本类型的消息时,title字段不起作用 
msg.title = "Will be ignored"; 
msg.description = "sdddd"; 
// 构造一个Req 
SendMessageToWX.Reqreq = newSendMessageToWX.Req(); 
req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求 
req.message = msg; 
//req.scene = SendMessageToWX.Req.WXSceneTimeline ; 
// 调用api接口发送数据到微信 
api.sendReq(req); 
finish(); 

}); 

private StringbuildTransaction(finalString type) { 
return (type == null) ? String.valueOf(System.currentTimeMillis()) 
:type + System.currentTimeMillis(); 

 

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

和你的app_id

 

微信获取程序签名工具下载地址:http://xiazai.jb51.net/201211/tools/gen_signature_jb51.rar

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

分享到:
评论

相关推荐

    微信SDK和实例

    2. 微信支付:微信支付SDK提供了便捷的在线支付解决方案,使开发者能在自己的应用中集成支付功能。它包括了商品购买、订单创建、支付请求、支付结果查询等一系列流程。开发者需要在微信商户平台上申请商户号,然后...

    支持Android微信分享等功能的SDK

    如果应用需要与微信小程序进行交互,微信SDK同样提供了解决方案。通过特定的API,开发者可以让Android应用和微信小程序之间进行数据交换,实现跨平台的用户体验。 6. **二维码扫描**: SDK还包含了二维码和条形码...

    android微信支付带java后台工具类

    这个"android微信支付带java后台工具类"提供了一种解决方案,帮助开发者在Android客户端和Java后端之间建立有效的通信机制,以实现微信支付流程。 1. **微信支付流程概述** 微信支付涉及的主要步骤包括:用户选择...

    Android-支付SDK的集合与重构支持支付宝微信支付银联支付

    "Android-支付SDK的集合与重构支持支付宝、微信支付、银联支付"项目正专注于解决这一问题,为开发者提供了一站式的支付解决方案。这个项目将三种主流的支付方式整合在一起,大大简化了开发过程,减少了代码冗余。 1...

    微信开放平台 sdk

    总的来说,微信开放平台SDK为Android开发者提供了一整套与微信深度集成的解决方案,通过学习和使用它,你可以为用户提供更加便捷、丰富的功能,增强应用的竞争力。在实际开发中,务必遵循微信的开发规范,确保应用的...

    android微信支付踩坑

    在实际操作中,可以参考testWxPay-master这个项目中的代码示例,它可能包含了完整的集成方案和问题解决方案。遇到具体问题时,可以查阅微信官方文档,或者在开发者社区寻求帮助,以便快速填坑。

    微信支付最新SDK wxpay-sdk-0.0.3

    总的来说,微信支付SDK(wxpay-sdk-0.0.3)为开发者提供了一套完整的解决方案,简化了微信支付的集成工作,使得开发者可以专注于自己的核心业务,而无需过多关注支付流程的技术细节。通过熟练掌握和正确使用这个SDK...

    微信开发包sdk(含demo)

    这个指南会指导开发者如何调用微信支付API来实现退款请求,并提供对账单的下载和解析方法。 3. **SDK_for_Android**:【微信APP支付】SDK_For_Android是为Android应用开发设计的,包含必要的库文件和示例代码,用于...

    wechat-sdk-android-without-mta-5.3.1.jar.zip

    微信SDK for Android 5.3.1版本是一个重要的开发工具包,主要针对微信平台的应用程序开发。这个版本的SDK去除了MTA(Mobile Traffic Analysis)模块,因此它可能更适合那些不希望集成移动流量分析功能的开发者。下面...

    shareSDK android第三方qq,微信登录

    它提供了一站式的解决方案,简化了开发者与这些平台的API交互过程。要使用ShareSDK,你需要在项目中引入相应的SDK库,并按照官方文档配置应用的AppID和AppKey,这些都是你在QQ开放平台和微信开放平台申请得到的。 1...

    Android微信分享大图遇到的问题的解决方法

    本文主要探讨了在Android中通过微信分享大图时遇到的挑战及其解决方案。 首先,问题的起因是在尝试分享一张大图时,代码执行失败。通常,分享图片的代码会涉及到初始化`WXImageObject`和`WXMediaMessage`对象,设置...

    android 实时监听读取微信最新消息

    此外,微信可能会针对这种行为进行反制,例如更新版本以阻止非官方接口的使用,因此解决方案可能需要持续维护和更新。 7. **MyApplication.rar**:这个RAR文件可能是项目代码的压缩包,包含实现上述功能的源代码或...

    微信登录 cocosCreator微信登录源代码和文档

    然后,在Cocos Creator的项目中引入微信SDK,这通常涉及到下载SDK,将其导入到项目的资源管理器中,并在代码中引用。 3. **授权流程**: 用户启动游戏后,通过调用微信登录的SDK接口,弹出微信授权界面。用户同意...

    Unity第三方微信支付安卓端工程

    本资源“Unity第三方微信支付安卓端工程”提供了一个专门为Unity设计的、用于接入微信支付的Android解决方案。这个解决方案使得Unity游戏可以无缝地与微信支付系统进行交互,为玩家提供便捷的付费体验。 首先,我们...

    安卓微信api

    在描述中提到的"智付云"是一家提供全方位支付解决方案的公司,它不仅支持微信支付,还包括支付宝支付、银联手机支付、QQ钱包以及京东钱包等多种支付方式。这表明在Android应用中,开发者可以通过智付云的SDK来实现...

    微信支付(Android)V3

    微信支付(Android)V3是微信官方推出的一种针对Android平台的移动支付解决方案,它使得开发者能够集成微信支付功能到自己的Android应用中,为用户提供便捷的在线支付体验。在这个V3版本中,微信优化了支付流程,...

    Android-Android支付宝支付微信支付封装

    "Android-Android支付宝支付微信支付封装"这个项目就是针对Android平台,提供了一种简洁的解决方案,允许开发者快速集成支付宝(Alipay)和微信(WeChat Pay)支付功能。下面将详细介绍这个项目及其相关知识点。 ...

    mui微信支付

    在MUI项目中,通常使用`plus.nativeBridge`或`mui.plus.nativeBridge`方法来调用原生方法,传递上述参数到Android端的微信支付SDK。 三、微信支付步骤 1. **生成预支付订单** 使用商户后台提供的API生成预支付订单...

Global site tag (gtag.js) - Google Analytics