public bool SendImage(Android.Graphics.Bitmap bitmap, WXScene scene = 0) { if (bitmap == null) { throw new Exception("(Android.Graphics.Bitmap) bitmap is null"); } WXImageObject imgObj = new WXImageObject(bitmap); WXMediaMessage wxMediaMessage = new WXMediaMessage(); wxMediaMessage.MyMediaObject = imgObj; // 设置缩略图 int thumbSize = 150; // 150是根据官网demo设置 Android.Graphics.Bitmap thumbBmp = bitmap.ScaledBitmap(thumbSize, thumbSize, false); // 扩展方法 bitmap.Recycle(); wxMediaMessage.ThumbData = thumbBmp.ToArray(true); // 扩展方法 //构造一个Req请求 SendMessageToWX.Req req = new SendMessageToWX.Req(); //唯一的请求标志 req.Transaction = System.Guid.NewGuid().ToString(); req.Message = wxMediaMessage; // req.Scene = SendMessageToWX.Req.WXSceneSession; // 发送信息 // req.Scene = SendMessageToWX.Req.WXSceneTimeline; // 发送朋友圈 req.Scene = (int)scene; //发送数据 return(api.SendReq(req)); }
public bool SendImage(string imagePath, WXScene scene = 0) { if (System.IO.File.Exists(imagePath) == false) { throw new Exception($"图片文件不存在。文件路径:\r\n{imagePath}"); } Android.Graphics.Bitmap bitmap = Android.Graphics.BitmapFactory.DecodeFile(imagePath); return(SendImage(bitmap, scene)); }
public void ShareImageWechat(WXScene scene, byte[] data, byte[] dataThumb, Action <WechatErrCode> callback = null) { _wechatCallback = callback; #if UNITY_IPHONE IntPtr array = Marshal.AllocHGlobal(data.Length); Marshal.Copy(data, 0, array, data.Length); IntPtr arrayThumb = Marshal.AllocHGlobal(dataThumb.Length); Marshal.Copy(dataThumb, 0, arrayThumb, dataThumb.Length); _ShareImageWechat((int)scene, array, data.Length, arrayThumb, dataThumb.Length); #elif UNITY_ANDROID AndroidJavaClass utils = new AndroidJavaClass("com.youngoutliers.rc.WechatUtils"); utils.CallStatic("ShareImageWechat", (int)scene, data, dataThumb); #endif }
/// <summary> /// 分享文字信息 /// </summary> /// <param name="msg">显示在微信聊天记录的信息</param> /// <param name="description">显示在按[分享]时候的信息</param> /// <returns>返回记录</returns> public bool SendMsg(string msg, string description = "", WXScene scene = 0) { // 初始化一个 WXTextObject 对象,填写分享的文本内容 WXTextObject textObj = new WXTextObject(); textObj.Text = msg; // 用 WXTextObject 对象初始化一个 WXMediaMessage 对象 WXMediaMessage wxMediaMessage = new WXMediaMessage(); wxMediaMessage.MyMediaObject = textObj; wxMediaMessage.Description = description; SendMessageToWX.Req req = new SendMessageToWX.Req(); req.Transaction = System.Guid.NewGuid().ToString(); // 唯一的请求标志 req.Message = wxMediaMessage; // req.Scene = SendMessageToWX.Req.WXSceneSession; // 发送信息 // req.Scene = SendMessageToWX.Req.WXSceneTimeline; // 发送朋友圈 req.Scene = (int)scene; return(api.SendReq(req)); }