我正在构建一个应用程序,其中添加了共享功能,并安装了native_share(https://pub.dev/packages/native_share#-readme-tab-)插件,并且在运行代码时将目标api从18更改为23在我的移动设备中存在的所有社交媒体应用程序中都可以正常运行,除了whatsapp。每当我尝试选择whatsapp时,它都会显示“共享失败,请重试”,然后返回屏幕。我只能找到本机android的解决方案,而不是扑朔迷离。下面是代码。
class ShareURL extends StatefulWidget {
final String mediaUrl;
ShareURL({
this.mediaUrl,
});
@override
_ShareURLState createState() => _ShareURLState(
mediaUrl: this.mediaUrl,
);
}
class _ShareURLState extends State<ShareURL> {
final String mediaUrl;
_ShareURLState({
this.mediaUrl,
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: (){
//print(mediaUrl);
NativeShare.share({'title':'Plugin example app','url':mediaUrl});
},
child: videoControlAction(
icon: AppIcons.reply, label: "Share", size: 27),
);
}
}
答案 0 :(得分:0)
您可以使用url_launcher并使用以下变量:
const phone = '+20123456789';
var whatsappUrl = "whatsapp://send?phone=$phone";
然后在onPressed函数中实现它:
onPressed: () async {
if (await launcher.canLaunch(whatsappUrl)) {
await launcher.launch(whatsappUrl);
} else {
_showDialog(
context,
title: 'Error',
msg: 'Please make sure that you have whatsapp installed',
);
}
},