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

首先最基础的一步就是申请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();
}

//------------------------------------------------------------------------------------------------------

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);

setIntent(intent);
api.handleIntent(intent, this);
}

//----------------------------------回调 方法----------------------------

// 微信发送请求到第三方应用时,会回调到该方法
@Override
public 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;
}

}

// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public 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的返回值(参考我的二步的第一个方法)。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值