Android 实现微信分享好友和朋友圈

阅读: 评论:0

Android 实现微信分享好友和朋友圈

Android 实现微信分享好友和朋友圈

1.在微信开放平台 创建移动应用,并通过审核,这里要注意的是应用签名要一致,(下载官网上的APK,输入包名就可以生成了)
2.具体用法可以看官网的文档,这里只总结使用过程遇到的问题和解决方法
3.

参照这个用法分享是可以的,但是如果你的图片大于32kb就不会调微信分享的界面。
MicroMsg.SDK.WXApiImplV10: sendReq checkArgs fail

问题:如何解决大于32kb图片不调微信的问题
解决方案:1.因为图片是后台返回的url,android 端这边暂时只能将本地的资源压缩,而不能压缩url的图片,会提示说找不到资源。。(目前我用过很多办法都不行,如果有好的方法希望分享给我,谢谢)。所以目前我这边是后台压缩完图片返回给我

public class WeChatShareUtil {//从官网申请的合法appIdprivate static final int TIMELINE_SUPPORTED_VERSION = 0x21020001;//IWXAPI是第三方app和微信通信的openapi接口private IWXAPI api;private Context context;public static WeChatShareUtil weChatShareUtil;public static WeChatShareUtil getInstance(Context context) {if (weChatShareUtil == null) {weChatShareUtil = new WeChatShareUtil();}if (weChatShareUtil.api != null) {weChatShareUtil.api.unregisterApp();}t = ToWx();return weChatShareUtil;}//注册应用id到微信private void regToWx() {//通过WXAPIFactory工厂,获取IWXAPI的实例api = ateWXAPI(context, Contonts.APP_ID, false);//将应用的appId注册到微信isterApp(Contonts.APP_ID);}/*** 分享文字到朋友圈或者好友** @param text  文本内容* @param scene 分享方式:好友还是朋友圈*/public boolean shareText(String text, int scene) {//初始化一个WXTextObject对象,填写分享的文本对象WXTextObject textObj = new WXTextObject(); = text;return share(textObj, text, scene);}/*** 分享图片到朋友圈或者好友** @param bmp   图片的Bitmap对象* @param scene 分享方式:好友还是朋友圈*/public boolean sharePic(Bitmap bmp, int scene) {//初始化一个WXImageObject对象WXImageObject imageObj = new WXImageObject(bmp);//设置缩略图Bitmap thumb = ateScaledBitmap(bmp, 60, 60, true);le();return share(imageObj, thumb, scene);}/*** 分享网页到朋友圈或者好友,视频和音乐的分享和网页大同小异,只是创建的对象不同。* 详情参考官方文档:* =dir_list&t=resource/res_list&verify=1&id=open1419317340&token=&lang=zh_CN** @param url         网页的url* @param title       显示分享网页的标题* @param description 对网页的描述* @param scene       分享方式:好友还是朋友圈*/public boolean shareUrl(String url, String title, Bitmap thumb, String description, int scene) {//初试话一个WXWebpageObject对象,填写urlWXWebpageObject webPage = new WXWebpageObject();webPage.webpageUrl = url;return share(webPage, title, thumb, description, scene);}private boolean share(WXMediaMessage.IMediaObject mediaObject, Bitmap thumb, int scene) {return share(mediaObject, null, thumb, null, scene);}private boolean share(WXMediaMessage.IMediaObject mediaObject, String description, int scene) {return share(mediaObject, null, null, description, scene);}private boolean share(WXMediaMessage.IMediaObject mediaObject, String title, Bitmap thumb, String description, int scene) {//初始化一个WXMediaMessage对象,填写标题、描述WXMediaMessage msg = new WXMediaMessage(mediaObject);if (title != null) {msg.title = title;}if (description != null) {msg.description = description;}if (thumb != null) {msg.thumbData = bmpToByteArray(thumb, true);}//构造一个ReqSendMessageToWX.Req req = new SendMessageToWX.Req();ansaction = String.valueOf(System.currentTimeMillis());ssage = msg;req.scene = scene;return api.sendReq(req);}//判断是否支持转发到朋友圈//微信4.2以上支持,如果需要检查微信版本支持API的情况, 可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈public boolean isSupportWX() {int wxSdkVersion = WXAppSupportAPI();return wxSdkVersion >= TIMELINE_SUPPORTED_VERSION;}private byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {ByteArrayOutputStream output = new ByteArrayOutputStream();bmppress(Bitmap.CompressFormat.PNG, 100, output);if (needRecycle) {le();}byte[] result = ByteArray();try {output.close();} catch (Exception e) {e.printStackTrace();}return result;}
}

可以看到shareUrl(String url, String title, Bitmap thumb, String description, int scene)
图片必须是Bitmap
于是我这边就要将url转换为Bitmap

	/*** 根据图片的url路径获得Bitmap对象*/public static Bitmap returnBitMap(String url) {URL myFileUrl = null;Bitmap bitmap = null;try {myFileUrl = new URL(url);} catch (MalformedURLException e) {e.printStackTrace();}try {HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();conn.setDoInput(true);t();InputStream is = InputStream();bitmap = BitmapFactory.decodeStream(is);is.close();} catch (IOException e) {e.printStackTrace();}return bitmap;}

如果有其他好的实现方式欢迎在评论中留言,我实践过之后会对应更新 ,谢谢!

本文发布于:2024-02-05 06:23:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170726185763818.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:朋友圈   好友   Android
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23