客户端微信分享
16lz
2021-01-24
之前有和大家分享过关于"分享新浪微博"的博客,实现分享到微信在网上找了这方面的资料也比较少,然后自己根据微信官方的说明终于还是搞定了。
先和大家分享几个关于微信opensdk的地址,官网也有相应的开发手册。
注册:
https://open.weixin.qq.com/login/
SDK文档:
http://open.weixin.qq.com/document/sdk/android/?lang=zh_CN
有发送请求或响应到微信两个方法来实现:
发送请求是:
boolean sendReq(BaseReq req);sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面;
响应是:
boolean sendResp(BaseResp resp);微信向第三方app请求数据,第三方app回应数据之后会切回到微信界面。
1:申请app_id http://open.weixin.qq.com/?lang=zh_CN
2:完善关于你的应用信息,其中比较很重要的是在“详情”里面,设置你的报名和生成相应签名,关于怎么生成签名可以在里面下载生成签名的
否则你会没法测试
3:下载sdk的jar包,并加入到工程libs,编写代码:新建一个activity,在oncreate里面通过 IWXAPI把 你的apk注册到微信里面
IWXAPI mApi = WXAPIFactory. createWXAPI( mContext, APP_ID , true);boolean register = mApi.registerApp( APP_ID );
如果返回true表示注册成功;
接下来就是分享的操作,我们写一个方法来实现分享:
boolean result = false;final String text = "my app" ;final String content = "UIDemo" ;WXTextObject wxTextObject = new WXTextObject();wxTextObject. text = text;WXMediaMessage wxMediaMessage = new WXMediaMessage();wxMediaMessage. mediaObject = wxTextObject;wxMediaMessage. title = text;wxMediaMessage. description = content;SendMessageToWX.Req sendReq = new SendMessageToWX.Req();sendReq. transaction = String.valueOf(System. currentTimeMillis());sendReq. message = wxMediaMessage;//发送至朋友圈sendReq. scene = SendMessageToWX.Req. WXSceneTimeline;//发送到会话//sendReq.scene = SendMessageToWX.Req.WXSceneSession;//发送数据result = mApi .sendReq(sendReq);/*GetMessageFromWX.Resp sendResp = new GetMessageFromWX.Resp();//new GetMessageFromWX.Req(getIntent().getExtras()).transaction;sendResp.transaction = String.valueOf(System.currentTimeMillis());sendResp.message = wxMediaMessage;result = mApi.sendResp(sendResp);*/System. out .println("result:" + result);
要注意scene的参数设置,如果是分享到好友圈和分享给朋友参数的赋值不一样,这样就完成了微信的分享,比较简单,但是有几个方面需要注意:
a):不管是分享到好友还是朋友圈你的手机里必须需要安装微信的客户端
b):如果手机里面的微信是没有登录的状态,首次分享的时候会跳转到登录,登录之后再次点击分享就可以分享了,这块我查看了其他应用的实现方式,“冷笑话”客户端的“ 分享给好友 ”、“分享到好友圈”都是一样。
更多相关文章
- Android中的文件存储数据方式
- android Content provider 组件
- Android之ContentProvider
- 温故而知新Android篇之二
- 译:Android的一些基础问题(一)
- android usb host 读写USB设备
- Android豆瓣图书查询Demo
- Android(安卓)中的观察者模式Observer
- Android(安卓)数据存储ContentProvider(类容提供者)之对外提供数据