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");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个问题官方微信中有解答,android端分享首先要通过审核才行
这是因为应用没有通过审核。
包名和签名要和申请的时候填写的一样才可以,审核通过之后,再使用获得的AppID,才能正常分享。
签名跟打包apk生成的keystore有关,每次修改需要重新审核。
见 https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_faq_android_tmpl&lang=zh_CN
楼上正解,今天弄微信支付就遇到这个问题,找了半天在官网上找到这个FAQ。分值不够,无法赞。