【发布时间】:2020-04-01 11:26:53
【问题描述】:
final ByteData bytes = await rootBundle.load('assets/images/1/image.jpg');
我通过上面的代码读取了 dart 中的图像。
通过 Platform Channel,Java 只接受 byte[]
所以,我必须将图像发送为Unit8Lists
final ByteData bytes = await rootBundle.load('assets/images/1/image.jpg');
bytes.buffer.asUint8List()
在android studio中收到bytes后,如何再次将其转换为Uri?所以我可以使用android意图的EXTRA_STREAM来分享图片
try {
await platformMethodChannel.invokeMethod('passImage', {
'image': bytes.buffer.asUint8List(),
'type': 'image/jpeg',
'name': 'image.jpg'
});
} on PlatformException catch (e) {
print(e);
}
MainActivity.java
byte[] image = call.argument("image");
//How to convert this byte[] to Uri?
【问题讨论】: