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.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();
}
}
/**

View File

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