微信新版 分享 登录 分享小程序 遇到 的问题

由于不支持的分享类型 无法分享到微信安卓


说到这个问题 网上基本上没有靠谱或者有解释的一个答案 
博主反复查看好多次发现
博主的问题是给的app原始id不正确
可能导致无法找到小程序 
那么消息就没法发送 就是判定为你的消息类型不正确了

分享小程序的代码 网上都是图片~~~
//分享小程序s
public void sendMiniApps() {
    WXMiniProgramObject miniProgramObject=new WXMiniProgramObject();
    miniProgramObject.webpageUrl="http://www.qq.com";
    miniProgramObject.userName="gh_------------";//小程序的原始ID
      //     小程序的path
    miniProgramObject.path="pages/home/home";
    WXMediaMessage msg=new WXMediaMessage(miniProgramObject);
    msg.title="未来超市";//标题
    msg.description="未来超市";//描述信息
    Bitmap bmp=new BitmapFactory().decodeResource(getResources(),R.mipmap.app_icon);
    Bitmap thumb=Bitmap.createScaledBitmap(bmp,90,90,true);//注意这里的缩略图大小
    bmp.recycle();
    msg.thumbData= Util.bmpToByteArray(thumb,true);

    SendMessageToWX.Req req=new SendMessageToWX.Req();
    req.transaction=buildTransaction("webpage");
    req.message=msg;
    req.scene=SendMessageToWX.Req.WXSceneSession;//发送到聊天界面

    MyShopApplication.getInstance() .api .sendReq(req);

}
  第二个问题 是否分享 以及登录共用同一个回调的问题

遇到了在项目中同时集成微信的登录和分享功能,刚开始登录功能是没问题的 ,但是当弄分享的时候出了问题,当用户分享之后点击返回APP会返回到一个空白页面,只有当再次点击返回才会回到APP界面,断点之后发现是因为这两个功能都会调用微信WXEntryActivity的回调函数,当分享后再回调时,函数中的

SendAuth.Resp authResp = (Resp) resp;
String code = authResp.code;
此处会不继续往下执行,因为分享要用到的不是SendAuth.Req而是SendMessageToWX.Req 这会导致在这个回调函数中执行的时候获取的authResp.code不正确 从而回调函数不继续执行
所以需要在回调函数中加判断来区分是登录指令 还是分享指令
public void onResp(BaseResp resp){
if(resp.getType()==ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX){ //分享
此处执行分享
}
else if(resp.getType()==ConstantsAPI.COMMAND_SENDAUTH){//登录
此处执行登录
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值