fix 紧急修复 android 上读取本地图片代码错误导致的报错

This commit is contained in:
little-snow-fox 2019-11-19 20:20:36 +08:00
parent 3b7492fc48
commit b9524ca994
2 changed files with 25 additions and 18 deletions

View File

@ -50,6 +50,8 @@ import com.tencent.mm.opensdk.constants.ConstantsAPI;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.net.URI; import java.net.URI;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.UUID; import java.util.UUID;
@ -200,7 +202,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
// WXTextObject 对象初始化一个 WXMediaMessage 对象 // WXTextObject 对象初始化一个 WXMediaMessage 对象
WXMediaMessage msg = new WXMediaMessage(); WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = textObj; msg.mediaObject = textObj;
msg.description = data.getString("text"); msg.description = data.getString("text");
SendMessageToWX.Req req = new SendMessageToWX.Req(); SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = "text"; req.transaction = "text";
@ -246,24 +248,29 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
*/ */
@ReactMethod @ReactMethod
public void shareLocalImage(final ReadableMap data, final Callback callback) { public void shareLocalImage(final ReadableMap data, final Callback callback) {
FileInputStream fs = new FileInputStream(data.getString("imageUrl")); FileInputStream fs = null;
Bitmap bmp = BitmapFactory.decodeStream(fs); try {
// 初始化 WXImageObject WXMediaMessage 对象 fs = new FileInputStream(data.getString("imageUrl"));
WXImageObject imgObj = new WXImageObject(bmp); Bitmap bmp = BitmapFactory.decodeStream(fs);
WXMediaMessage msg = new WXMediaMessage(); // 初始化 WXImageObject WXMediaMessage 对象
msg.mediaObject = imgObj; WXImageObject imgObj = new WXImageObject(bmp);
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = imgObj;
// 设置缩略图 // 设置缩略图
msg.thumbData = bitmapResizeGetBytes(bmp, THUMB_SIZE); 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));
// 构造一个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();
}
} }
/** /**

View File

@ -1,6 +1,6 @@
{ {
"name": "react-native-wechat-lib", "name": "react-native-wechat-lib",
"version": "1.1.3", "version": "1.1.5",
"description": "react-native library for wechat app. 支持分享和拉起小程序。", "description": "react-native library for wechat app. 支持分享和拉起小程序。",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {