离子电容器共享插件不与 Whatsapp 共享图像

aln*_*sre 7 ionic-framework angular capacitor

我创建了这个功能,可以在许多应用程序上很好地共享图像,但当涉及到WhatsApp或 Instagram 时,它无法共享图像。

我使用 Ionic v5 和电容器 v3


  async shareImage() {
    let receiptName = 'Receipt N:123.png';
    const div = this.screenshotElement.nativeElement;
    const divHeight = div.clientHeight;
    const divWidth = div.clientWidth;
    const options = { background: '#ffffff', width: divWidth, height: divHeight };

    await Filesystem.requestPermissions();

    let base64Data = await domtoimage.toPng(div, options);

    // device shareing
    await Filesystem.writeFile({
      path: receiptName,
      data: base64Data,
      directory: Directory.Cache
    });


    let fileResult = await Filesystem.getUri({
      directory: Directory.Cache,
      path: receiptName
    });

    let imageLink = Capacitor.convertFileSrc(fileResult.uri);

    Share.share({
      title: receiptName,
      text: receiptName,
      url: fileResult.uri,
    })
      .then(() => console.log('Successful share'))
      .catch((error) => console.log('Error sharing ::: ', error));

  }


Run Code Online (Sandbox Code Playgroud)

进口

import domtoimage from 'dom-to-image';
import { Share } from '@capacitor/share';
import { Filesystem, Directory, Encoding } from '@capacitor/filesystem';
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
Run Code Online (Sandbox Code Playgroud)

包裹

 "@capacitor/android": "^3.1.1",
        "@capacitor/app": "^1.0.2",
        "@capacitor/camera": "^1.0.3",
        "@capacitor/cli": "^3.1.1",
        "@capacitor/core": "^3.1.1",
        "@capacitor/filesystem": "^1.0.2",
        "@capacitor/haptics": "^1.0.2",
        "@capacitor/ios": "^3.1.1",
        "@capacitor/keyboard": "^1.0.2",
        "@capacitor/push-notifications": "^1.0.3",
        "@capacitor/share": "^1.0.3",
        "@capacitor/status-bar": "^1.0.2",
Run Code Online (Sandbox Code Playgroud)

aln*_*sre 2

我发现@capacitor/share 有这个已知问题。

请参阅: https: //github.com/ionic-team/capacitor-plugins/issues/196

我通过使用解决了它

npm install cordova-plugin-x-socialsharing
npm install @ionic-native/social-sharing
ionic cap sync
Run Code Online (Sandbox Code Playgroud)

请参阅: https: //ionicframework.com/docs/native/social-sharing