我使用时发现错误
flutter_share: ^1.0.2+1
MissingPluginException(No implementation found for method share on channel plugins.flutter.io/share)
E/flutter ( 3361): MissingPluginException(No implementation found for method share on channel plugins.flutter.io/share)
E/flutter ( 3361): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
E/flutter ( 3361): <asynchronous suspension>
E/flutter ( 3361): #1 Share.share (package:share/share.dart:44:20)
E/flutter ( 3361): #2 SignalCard.build.<anonymous closure>
i 通过我的设备上的
remove
flutter 应用程序和 reinstall
通过 USB 或任何其他媒介来解决它
共享插件按预期工作。出现该错误可能是因为添加插件后进行了热重启或热重新加载,而不是完全重启。这意味着插件的平台特定代码未内置到应用程序中。
解决方法:停止应用程序并在添加插件后重新启动。
如果您在Web项目中使用共享插件,此错误将永久出现。 如这里所写,您必须使用share_plus插件
但是这个插件(share_plus),无法共享文件
/// Share files
@override
Future<void> shareFiles(
List<String> paths, {
List<String>? mimeTypes,
String? subject,
String? text,
Rect? sharePositionOrigin,
}) {
throw UnimplementedError('shareFiles() has not been implemented on Web.');
}
仅通过邮件分享消息(文本+主题)
// see https://github.com/dart-lang/sdk/issues/43838#issuecomment-823551891
final uri = Uri(
scheme: 'mailto',
query: queryParameters.entries
.map((e) =>
'${Uri.encodeComponent(e.key)}=${Uri.encodeComponent(e.value)}')
.join('&'),
);
当您向包含本机代码的应用程序添加插件时,您必须重新启动应用程序才能加载。所以热重启等是不够的。
注意:
flutter_share
和 share
套餐已停产。
现在我使用官方的
share_plus
插件,你可以在找到它
https://pub.dev/packages/share_plus
我希望这能解决您的问题。谢谢。
如上所述。关闭调试状态,然后重新启动。我可以看到一些要下载的存储库[以详细模式],它可能是来自云的存储库,需要从一开始就重建整个应用程序。