Android微信分享只有第一次成功,后续再点击没有反应

发布于 2022-08-28 22:54:36 字数 1419 浏览 17 评论 0

应用签名什么的都弄的,在网上看有keystore也影响但不知道怎么改,现在第一次可以分享,再点就不可以了,不知道为什么,求高人

包名,签名开放平台上都写了
程序内容和文档一样

初次调试可以正常分享
如果再分享需要微信清除数据
否则点击没有反应

代码如下:
private static Context mContext;

private static ShareWeChatUtil mInstantce;

//IWXAPI是第三方应用和微信的openapi接口
private IWXAPI api;

private void regToWx(){
    //通过WXAPIFactory工厂,获取IWAPI的实例
    api = WXAPIFactory.createWXAPI(mContext,ShareConstants.WECHAT_APP_KEY,true);

    //将应用的APPId注册到微信
    api.registerApp(ShareConstants.WECHAT_APP_KEY);
}

public ShareWeChatUtil() {
    regToWx();
}

public static ShareWeChatUtil getInstance(Context context) {
    mContext = context;
    if (mInstantce == null) {
        mInstantce = new ShareWeChatUtil();
    }
    return mInstantce;
}

public void WeChatSendReq(String text ){
    regToWx();
    //初始化一个WXTextObject对象
    WXTextObject textObj = new WXTextObject();
    textObj.text = text;

    //用WXTextObject对象初始化一个WXMediaMessage对象
    WXMediaMessage msg = new WXMediaMessage();
    msg.mediaObject = textObj;
    msg.description = text;

    //构造一个Req
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    //transaction字段用于唯一标示一个请求
    req.transaction = String.valueOf(System.currentTimeMillis());
    req.message = msg;

    //调用api接口发送数据到微信
    api.sendReq(req);
}

在主程序中这样引用
ShareWeChatUtil.getInstance(mContext).WeChatSendReq("微信开放平台Test");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤君无依 2022-09-04 22:54:36

这个问题官方微信中有解答,android端分享首先要通过审核才行

青巷忧颜 2022-09-04 22:54:36

这是因为应用没有通过审核。
包名和签名要和申请的时候填写的一样才可以,审核通过之后,再使用获得的AppID,才能正常分享。
签名跟打包apk生成的keystore有关,每次修改需要重新审核。
https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_faq_android_tmpl&lang=zh_CN

水染的天色ゝ 2022-09-04 22:54:36

楼上正解,今天弄微信支付就遇到这个问题,找了半天在官网上找到这个FAQ。分值不够,无法赞。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文