android微信纯图片分享和网页分享
16lz
2021-01-26
由于公司要接入微信分享,需求是接入纯图片分享和网页分享。这里给大家分享一下是怎么接入的。
首先在微信开发者平台注册应用
https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN
微信sdk下载
https://open.weixin.qq.com/cgi-bin/showdocument? action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN
把下载到的压缩包解压,把libs里面的jar复制到项目中
在manifest配置联网和读取sd卡权限
如果需要接收微信分享后的回调需要在项目中建一个以你工程的包名加.wxapi的包,如项目包名是net.sourceforge.simcpux,则需要建立包为net.sourceforge.simcpux.wxapi。在这个包里面新建一个WXEntryActivity
分享后会回调该方法
public void onResp(BaseResp resp) { System.out.println("resp.errCode="+resp.errCode); switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: //分享成功 Toast.makeText(this, "分享成功", Toast.LENGTH_SHORT).show(); finish();wxApi.registerApp(Constants.APP_ID); break;case BaseResp.ErrCode.ERR_USER_CANCEL: //分享取消 Toast.makeText(this, "分享取消", Toast.LENGTH_SHORT).show(); finish(); break; case BaseResp.ErrCode.ERR_AUTH_DENIED: //分享拒绝 Toast.makeText(this, "分享拒绝", Toast.LENGTH_SHORT).show(); finish(); break;
}
}
首先创建一个wxapi实例
private IWXAPI wxApi= WXAPIFactory.createWXAPI(context, Constants.APP_ID);private static final int THUMB_SIZE = 150;
//Constants.APP_ID为你在微信官网申请的appid
注册你的APPid到微信
wxApi.registerApp(Constants.APP_ID);
微信图片分享
/**
*
* @param
* imgurl图片本地路径
* sendtype(0:分享到微信好友,1:分享到微信朋友圈)
*/
public void imageShare(String imgurl,int sendtype){File file = new File(imgurl);if (!file.exists()) {Toast.makeText(context, "图片不存在", Toast.LENGTH_LONG).show();}WXImageObject imgObj = new WXImageObject();imgObj.setImagePath(imgurl);WXMediaMessage msg = new WXMediaMessage();msg.mediaObject = imgObj;Bitmap bmp = BitmapFactory.decodeFile(imgurl);Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);msg.setThumbImage(thumbBmp);bmp.recycle();SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = String.valueOf(System.currentTimeMillis());req.message = msg;req.scene = sendtype==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline; wxApi.sendReq(req); }
微信网页分享
/**
*
* @param
* weburl- 网页URL
* 图片本地路径 -imgurl
* 网页标题 -title
* 网页内容摘要 -description
* sendtype(0:分享到微信好友,1:分享到微信朋友圈)
*/
public void webShare(String weburl,String imgurl,String title,String description,int sendtype){WXWebpageObject webpage = new WXWebpageObject();webpage.webpageUrl = weburl;WXMediaMessage msg = new WXMediaMessage(webpage);msg.title =title;msg.description =description ;Bitmap bmp = BitmapFactory.decodeFile(imgurl);Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, THUMB_SIZE, THUMB_SIZE, true);msg.setThumbImage(thumbBmp);bmp.recycle();SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("webpage");req.message = msg;req.scene = sendtype==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline; wxApi.sendReq(req); }private String buildTransaction(final String type) {return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();}
本篇微信分享到此结束,下篇介绍QQ的图片分享和网页分享。
更多相关文章
- andorid中网络图片下载、保存以及在相册中显示
- android 通过Intent打开相册并获取选择的图片
- Android学习笔记(21):ImageView及其子类
- Android中的图像处理
- [Android源码]Android源码之高仿飞鸽传书WIFI热点搜索与创建(一)
- Android(安卓)实现多图分享到微信朋友圈
- Android(安卓)图片处理之不同res-dpi文件夹下图片的内存大小计算
- Android(安卓)Studio Banner轮播图使用
- Android自定义ActionBar背景色、字体颜色等样式style