如何从Flutter启动whatsapp和Facebook Messenger窗口以指向特定联系人?

Tre*_*ree 4 facebook whatsapp flutter

使用url_launcher,我可以打开电话来拨打电话。

 var phone = "+123456789";
 launch("tel://$phone");
Run Code Online (Sandbox Code Playgroud)

如何为Facebook Messenger和whatsapp做同样的事情?

Tre*_*ree 15

我找到了解决方案。

要打开whatsapp:

var whatsappUrl ="whatsapp://send?phone=$phone";
await canLaunch(whatsappUrl)? launch(whatsappUrl):print("open whatsapp app link or do a snackbar with notification that there is no whatsapp installed");
Run Code Online (Sandbox Code Playgroud)

要打开Messenger或Facebook:

首先获得缩短的URL

如果您的facebook个人资料是facebook.com/yourName facebook url,fb.me/yourName而Messenger url是m.me/yourName

那你做 launch("http://$messengerUrl");

Facebook网站将通过URL浏览器自动打开应用程序中的链接。如果未安装任何应用,它将转到应用/播放商店

  • 奇怪的是,我发现“canLaunch”返回“false”,尽管如果你仍然启动它它工作得很好。 (2认同)
  • ^^ 是的。我想现在最好用 try catch 来处理而不是 canLaunch() (2认同)

thy*_*ano 5

To open the whatsapp you can use this plugin: https://pub.dartlang.org/packages/flutter_launch

1. Add this to your package's pubspec.yaml file:

dependencies:
    flutter_launch: "^0.0.2"
Run Code Online (Sandbox Code Playgroud)

2. Install it

$ flutter packages get
Run Code Online (Sandbox Code Playgroud)

3. Import it

import 'package:flutter_launch/flutter_launch.dart';
Run Code Online (Sandbox Code Playgroud)

4. Example:

await FlutterLaunch.launchWathsApp(phone: "5534992019999", message: "Hello");
Run Code Online (Sandbox Code Playgroud)

Complete example: https://pub.dartlang.org/packages/flutter_launch#-installing-tab-

  • `启动WathsApp`?在发布包之前仔细检查方法拼写会很棒 (8认同)
  • 有没有没有特定电话号码的午餐分享方式? (2认同)