我已经使用了几个库在flutter android/iOS上共享内容,直到最近我还想在flutter WEB上实现共享功能。虽然我使用了相同的库,但它给出了一个MissingPluginException错误。这很可能是因为没有用于Flutter Web平台的配置。
Overflow on channel: social_share. Messages on this channel are being discarded in FIFO fashion. The engine may not be running or you need to adjust the buffer size if of
the channel.
Error: MissingPluginException(No implementation found for method shareWhatsapp on channel social_share)
at Object.throw_ [as throw] (http://localhost:58884/dart_sdk.js:4314:11)
at MethodChannel._invokeMethod (http://localhost:58884/packages/flutter/src/services/platform_channel.dart.lib.js:410:21)
at _invokeMethod.next (<anonymous>)
at http://localhost:58884/dart_sdk.js:37184:33
at _RootZone.runUnary (http://localhost:58884/dart_sdk.js:37038:58)
at _FutureListener.thenAwait.handleValue (http://localhost:58884/dart_sdk.js:32022:29)
at handleValueCallback (http://localhost:58884/dart_sdk.js:32569:49)
at Function._propagateToListeners (http://localhost:58884/dart_sdk.js:32607:17)
at _Future.new.[_completeWithValue] (http://localhost:58884/dart_sdk.js:32450:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:58884/dart_sdk.js:32472:35)
at Object._microtaskLoop (http://localhost:58884/dart_sdk.js:37299:13)
at _startMicrotaskLoop (http://localhost:58884/dart_sdk.js:37305:13)
at http://localhost:58884/dart_sdk.js:32824:9
代码:
class SocialMediaLogo extends StatelessWidget {
final String logo;
SocialMediaLogo(this.logo);
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.all(5),
child: RaisedButton(
onPressed: () async {
SocialShare.shareWhatsapp("Hello World \n https://google.com")
.then((data) {
print(data);
});
},
child: Image(
image: AssetImage("icons/$logo.png"),
height: 35,
width: 35,
fit: BoxFit.cover,
)),
);
}
}
有没有办法做到这一点?或者任何为它实现的Web插件?
发布于 2021-09-08 18:28:40
我已经开始开发一个插件,它可以检测应用程序是在桌面还是移动设备上运行。https://pub.dev/packages/share_everywhere
如果你在台式机上,它将弹出你选择的网络,在移动设备上,它将使用标准的颤动共享库。
让我知道你的想法和我如何改进
https://stackoverflow.com/questions/62895028
复制相似问题