微信开放平台>微信登陆、分享、支付。调不起来,调用失败

本文档详细介绍了如何在Android应用中集成并使用微信SDK进行登录、分享及支付功能。主要内容包括配置应用信息、实现微信登录、分享网页链接以及完成微信内购支付等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先检查app包名安装在手机上的签名和微信开放平台上面填写的包名、签名是否一致,如果不一致请改成一致。
public class MyApp extends Application {
    public static IWXAPI api;//此对象是专门用来向微信发送数据的一个重要接口,使用强引用持有,所有的信息发送都是基于这个对象的

    @Override
    public void onCreate() {
        super.onCreate();
        api = WXAPIFactory.createWXAPI(this, ShareKeys.WX_APPID, false);
        api.registerApp(ShareKeys.WX_APPID);
    }
}

在微信登陆、分享、支付时统一用 MyApp.api.xxx();

比如

    微信登陆

final SendAuth.Req req = new SendAuth.Req();
req.scope = "snsapi_userinfo";//
req.state = "mcl";
MyApp.api.sendReq(req);

   微信分享

WXWebpageObject webpage=new WXWebpageObject();
webpage.webpageUrl="https://www.baidu.com/";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "app名称";
msg.description = "mcl";
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
msg . thumbData = bmpToByteArray (thumb, true) ;

SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("webpage");
req.message = msg;
req.scene = wechat;
MyApp.api.sendReq(req);

  微信支付

MyApp.api.registerApp(weChatPayResult.getAppid());
PayReq request = new PayReq();
request.appId = weChatPayResult.getAppid();
request.partnerId = weChatPayResult.getPartnerid();
request.prepayId = weChatPayResult.getPrepayid();
request.packageValue = weChatPayResult.getPackageX();
request.nonceStr = weChatPayResult.getNoncestr();
request.timeStamp = String.valueOf(weChatPayResult.getTimestamp());
request.sign = weChatPayResult.getSign();
MyApp.api.sendReq(request);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值