微信开放平台 - Android微信分享只有第一次成功,后续再点击没有反应
PHP中文网
PHP中文网 2017-04-17 11:37:19
[Android讨论组]

应用签名什么的都弄的,在网上看有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");

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
PHPz

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

阿神

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

高洛峰

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号