由于不支持的分享类型 无法分享到微信安卓
说到这个问题 网上基本上没有靠谱或者有解释的一个答案
博主反复查看好多次发现
博主的问题是给的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){//登录
此处执行登录
}