From b9524ca994c3a2a92beedd56e047983987758284 Mon Sep 17 00:00:00 2001 From: little-snow-fox Date: Tue, 19 Nov 2019 20:20:36 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=B4=A7=E6=80=A5=E4=BF=AE=E5=A4=8D=20an?= =?UTF-8?q?droid=20=E4=B8=8A=E8=AF=BB=E5=8F=96=E6=9C=AC=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E4=BB=A3=E7=A0=81=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/theweflex/react/WeChatModule.java | 41 +++++++++++-------- package.json | 2 +- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/android/src/main/java/com/theweflex/react/WeChatModule.java b/android/src/main/java/com/theweflex/react/WeChatModule.java index b1130cb..6969e38 100644 --- a/android/src/main/java/com/theweflex/react/WeChatModule.java +++ b/android/src/main/java/com/theweflex/react/WeChatModule.java @@ -50,6 +50,8 @@ import com.tencent.mm.opensdk.constants.ConstantsAPI; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.net.URI; import java.util.ArrayList; import java.util.UUID; @@ -200,7 +202,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv //用 WXTextObject 对象初始化一个 WXMediaMessage 对象 WXMediaMessage msg = new WXMediaMessage(); msg.mediaObject = textObj; - msg.description = data.getString("text"); + msg.description = data.getString("text"); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = "text"; @@ -246,24 +248,29 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv */ @ReactMethod public void shareLocalImage(final ReadableMap data, final Callback callback) { - FileInputStream fs = new FileInputStream(data.getString("imageUrl")); - Bitmap bmp = BitmapFactory.decodeStream(fs); - // 初始化 WXImageObject 和 WXMediaMessage 对象 - WXImageObject imgObj = new WXImageObject(bmp); - WXMediaMessage msg = new WXMediaMessage(); - msg.mediaObject = imgObj; + FileInputStream fs = null; + try { + fs = new FileInputStream(data.getString("imageUrl")); + Bitmap bmp = BitmapFactory.decodeStream(fs); + // 初始化 WXImageObject 和 WXMediaMessage 对象 + WXImageObject imgObj = new WXImageObject(bmp); + WXMediaMessage msg = new WXMediaMessage(); + msg.mediaObject = imgObj; - // 设置缩略图 - msg.thumbData = bitmapResizeGetBytes(bmp, THUMB_SIZE); - - // 构造一个Req - SendMessageToWX.Req req = new SendMessageToWX.Req(); - req.transaction = "img"; - req.message = msg; - // req.userOpenId = getOpenId(); - req.scene = data.hasKey("scene") ? data.getInt("scene") : SendMessageToWX.Req.WXSceneSession; - callback.invoke(null, api.sendReq(req)); + // 设置缩略图 + msg.thumbData = bitmapResizeGetBytes(bmp, THUMB_SIZE); + // 构造一个Req + SendMessageToWX.Req req = new SendMessageToWX.Req(); + req.transaction = "img"; + req.message = msg; + // req.userOpenId = getOpenId(); + req.scene = data.hasKey("scene") ? data.getInt("scene") : SendMessageToWX.Req.WXSceneSession; + callback.invoke(null, api.sendReq(req)); + } catch (FileNotFoundException e) { + callback.invoke(null, false); + e.printStackTrace(); + } } /** diff --git a/package.json b/package.json index 0f78823..1a7c2eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-wechat-lib", - "version": "1.1.3", + "version": "1.1.5", "description": "react-native library for wechat app. 支持分享和拉起小程序。", "main": "index.js", "scripts": {