我想从我的flutter应用程序中的共享意图中接收多张图片。
它已经可以用于一张图片,但是我不知道如何为多张图片使用。我只是不明白如何通过MethodChannel传递数据。
因此在MainActivity中,图片被收集在ArrayList中。
byte[] imageByteArray;
ArrayList<byte[]> imagesByteArray = new ArrayList<>();
....
for (Uri imageUri : imageUris) {
try {
image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, stream);
imageByteArray = stream.toByteArray();
imagesByteArray.add(imageByteArray);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
在Flutter方面:
getSharedPictures() async {
var sharedData = await platform.invokeMethod("getSharedPictures");
if (sharedData != null) {
setState(() {
??? = sharedData;
});
}
所以我的问题是如何解析 sharedData 以便使用Image.memory构造函数显示图片?