Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
 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
 }
Example #4
0
        /// <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));
        }