您的位置:首页 > 移动开发 > 微信开发

最新版安卓微信分享sdk接入

2017-09-30 11:31 393 查看
首先最基础的一步就是申请appid(这一步其实很重要)本人用的开发工具为Eclipse,将下载好的jar包放到 libs 文件夹下,build一下,一、
分享之前一定要注册
api = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID,true);
api.registerApp(WXConstants.APP_ID);
下面是分享
//---------微信分享调用接口-------------public void shareWeixin(){String webUrl = "http://zongho.com.cn";WXWebpageObject webpage = new WXWebpageObject();webpage.webpageUrl = webUrl;WXMediaMessage msg = new WXMediaMessage(webpage);msg.title = "标题";msg.description ="内容";
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_2);msg.thumbData = Util.bmpToByteArrayWithAll(thumb, true);SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("webpage");req.message = msg;req.scene = SendMessageToWX.Req.WXSceneTimeline;api.sendReq(req);}
二、sdk文档中会有 一个 接受回调的 WXEntryActivity,严格按照文档创建包名,  api = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID,true);//判断微信  Intent返回值 --false说明有其他的Intent应立即finish掉boolean handleIntent = api.handleIntent(getIntent(), this);if (handleIntent == false) {finish();}//------------------------------------------------------------------------------------------------------@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}//----------------------------------回调 方法----------------------------// 微信发送请求到第三方应用时,会回调到该方法@Overridepublic void onReq(BaseReq req) {Log.i("Tag","请求回调".);switch (req.getType()) {case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:goToGetMsg();break;case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:goToShowMsg((ShowMessageFromWX.Req) req);break;default:break;}}// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法@Overridepublic void onResp(BaseResp resp) {Log.i("TAG-02", "回调");int result = 0;Toast.makeText(this, "baseresp.getType = " + resp.getType(), Toast.LENGTH_SHORT).show();switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK:result = R.string.errcode_success;break;case BaseResp.ErrCode.ERR_USER_CANCEL:result = R.string.errcode_cancel;break;case BaseResp.ErrCode.ERR_AUTH_DENIED:result = R.string.errcode_deny;break;case BaseResp.ErrCode.ERR_UNSUPPORT:result = R.string.errcode_unsupported;break;default:result = R.string.errcode_unknown;break;}Toast.makeText(this, result, Toast.LENGTH_LONG).show();}本人接入sdk后的体验:1.第一步极为重要,签名和包名,还有就是打包时的上线的那个 keystore;若这步有问题会造成你在测试时出现调不出微信分享界面,或者就是一闪而过,或者 返回方法里的code为-6。2.在分享成功后返回第三方app时会出现透明界面,这时应该检查 handleIntent的返回值(参考我的二步的第一个方法)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sdk 微信