/** * share picture only * @param content * @param msg * @param req */ private void sharePicture(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXImageObject wxImageObject = new WXImageObject(); msg.mediaObject = wxImageObject; req.transaction = buildTransaction("image"); req.message = msg; req.scene = content.getScene(); shareAsync(content.getImage_url(), req, false); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WXManager.getWXAPI(); mListener = WXManager.getStateListener(); if (mAPI != null){ mAPI.handleIntent(getIntent(), this); } finish(); }
judegeWX(); mAPI.registerApp(appId); WXMediaMessage msg = new WXMediaMessage(); switch (content.getType()){ case Text: shareText(content, msg, req); break; sharePicture(content, msg, req); break; shareWebPage(content, msg, req); break; shareMusic(content, msg, req); break; shareVideo(content, msg, req); break; shareAppData(content, msg, req); break;
"", ""); qqManager = new QQManager(this); wxManager = new WXManager(this); wbManager = new WBManager(this); wxManager.setListener(wxStateListener);
break; case R.id.btn_wx_login:// 微信登录 wxManager.onLoginWithWX(); break; case R.id.btn_wx_share:// 微信分享 wxManager.share(contentWX); break; case R.id.btn_wx_share_timeline:// 微信朋友圈分享,分享类型同上分享到会话列表 .setType(WXShareContent.share_type.Text) .setText("This is TPShareLogin test, 4 weixin timeline!"); wxManager.share(contentWX2); break; case R.id.btn_wb_login:// 微博登录
/** * share text only * @param content * @param msg * @param req */ private void shareText(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXTextObject wxTextObject = new WXTextObject(); wxTextObject.text = content.getText(); msg.mediaObject = wxTextObject; msg.description = content.getText(); req.transaction = buildTransaction("text"); req.message = msg; //发送的目标场景, 可以选择发送到会话 WXSceneSession 或者朋友圈 WXSceneTimeline。 默认发送到会话。 //WXSceneTimeline, WXSceneSession req.scene = content.getScene(); mAPI.sendReq(req); }
/** * 微信登录 */ public void onLoginWithWX(){ judegeWX(); mAPI.registerApp(appId); final SendAuth.Req req = new SendAuth.Req(); req.scope = SCOPE; req.state = STATE; mAPI.sendReq(req); }
/** * share AppData only * @param content * @param msg * @param req */ private void shareAppData(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXAppExtendObject wxAppExtendObject = new WXAppExtendObject(); wxAppExtendObject.fileData = WXUtil.readFromFile(content.getApp_data_path(), 0, -1); wxAppExtendObject.extInfo = "this is ext info"; msg.mediaObject = wxAppExtendObject; msg.title = content.getTitle(); msg.description = content.getDescription(); msg.setThumbImage(WXUtil.extractThumbNail(content.getApp_data_path(), 150, 150, true)); req.transaction = buildTransaction("appdata"); req.message = msg; req.scene = content.getScene(); mAPI.sendReq(req); }
/** * share music only * @param content * @param msg * @param req */ private void shareMusic(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXMusicObject wxMusicObject = new WXMusicObject(); wxMusicObject.musicUrl = content.getMusic_url(); msg.mediaObject = wxMusicObject; msg.title = content.getTitle(); msg.description = content.getDescription(); req.transaction = buildTransaction("music"); req.message = msg; req.scene = content.getScene(); shareAsync(content.getImage_url(), req, true); }
/** * share video only * @param content * @param msg * @param req */ private void shareVideo(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXVideoObject wxVideoObject = new WXVideoObject(); wxVideoObject.videoUrl = content.getVideo_url(); msg.mediaObject = wxVideoObject; msg.title = content.getTitle(); msg.description = content.getDescription(); req.transaction = buildTransaction("video"); req.message = msg; req.scene = content.getScene(); shareAsync(content.getImage_url(), req, true); }
/** * share webPage only * @param content * @param msg * @param req */ private void shareWebPage(WXShareContent content, WXMediaMessage msg, SendMessageToWX.Req req){ WXWebpageObject wxWebpageObject = new WXWebpageObject(); wxWebpageObject.webpageUrl = content.getWeb_url(); msg.mediaObject = wxWebpageObject; msg.title = content.getTitle(); msg.description = content.getDescription(); req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = content.getScene(); shareAsync(content.getImage_url(), req, true); }