Изображение может отображаться в чате Facebook Messenger, однако изображение не может быть отображено в WhatsApp, а также в качестве предварительного просмотра для приложения Messenger и WhatsApp.Любая идея, где я сделал неправильно?
Main.dart - Здесь я делаю снимок и сохраняю его во временный каталог.
RenderRepaintBoundary boundary = globalKey.currentContext.findRenderObject();
var image = await boundary.toImage(pixelRatio: 3.0);
ByteData byteData = await image.toByteData(format: ImageByteFormat.png);
Uint8List pngBytes = byteData.buffer.asUint8List();
final tempDir = await getTemporaryDirectory();
final file = await new File('${tempDir.path}/image.png').create();
await file.writeAsBytes(pngBytes);
final channel = const MethodChannel('channel:me.amanda.share/share');
channel.invokeMethod('shareFile', 'image.png');
MainActivity.java
private void shareFile(String path) {
try{
File imageFile = new File(this.getCacheDir(), path);
Uri contentUri = FileProvider.getUriForFile(this, "me.amanda.share",
imageFile);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.setData(contentUri);
shareIntent.setType("image/png");
shareIntent.putExtra(Intent.EXTRA_STREAM, contentUri);
this.startActivity(Intent.createChooser(shareIntent, "Share image
using"));
}
catch (Exception ex){
//android.widget.Toast.makeText(this, ex.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
file_path.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<cache-path name="image" path="."/>
</paths>