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": {