如何从 Flutter 启动 whatsapp 和 facebook messenger window 以指向特定联系人?
How to launch whatsapp and facebook messenger window from Flutter to point to a specific contact?
使用url_launcher我可以打开phone来拨打号码。
var phone = "+123456789";
launch("tel://$phone");
我怎样才能对 facebook messenger 和 whatsapp 做同样的事情?
我找到了解决方案。
要打开 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");
要打开 Messenger 或 facebook:
首先缩短url
如果您的 Facebook 个人资料是 facebook.com/yourName
facebook url 将是 fb.me/yourName
而 Messenger url 将是 m.me/yourName
那你做
launch("http://$messengerUrl");
Facebook 网站将自动在应用程序中打开 link,即使它通过 URL 浏览器也是如此。如果没有安装应用程序,它将转到 app/play 商店
要打开 WhatsApp,您可以使用此插件:https://pub.dartlang.org/packages/flutter_launch
1.将此添加到您的包的 pubspec.yaml 文件中:
dependencies:
flutter_launch: "^0.3.0"
2。安装它
$ flutter packages get
3。导入它
import 'package:flutter_launch/flutter_launch.dart';
4.示例:
await FlutterLaunch.launchWhatsapp(phone: "5534992019999", message: "Hello");
完整示例:https://pub.dartlang.org/packages/flutter_launch#-installing-tab-
我们可以使用flutter包https://pub.dev/packages/url_launcher
用于发送号码和文本--->
whatsapp://send?phone=XXXXXXXXX&text=Hellothere!
仅发送文本--->
https://api.whatsapp.com/send?text=Hellothere!
导入包url_launcher
:
url_launcher: ^6.0.3
导入依赖:
import 'package:url_launcher/url_launcher.dart';
把你的 url:
const _url = 'https://api.whatsapp.com/...';
创建您的函数:
void _launchURL() async => await canLaunch(_url)
? await launch(_url) : throw 'Not found $_url';
在 Button 中使用,例如:
FloatingActionButton(
onPressed: _launchURL,
...
),
这对我有用! :D
您可以使用 Flutter URL lanucher 插件来启动 whatsapp 应用程序。您需要为 android 和 iphone 添加条件。您可以阅读完整的 Flutter tutorial here.
对于android
var whatsappURl_android = "whatsapp://send?phone="+whatsapp+"&text=hello";
对于iphone
var whatappURL_ios ="https://wa.me/$whatsapp?text=${Uri.parse("hello")}";
首先检测 phone OS 版本 - android 或 iOS
if(Platform.isIOS){
// for iOS phone only
if( await canLaunch(whatappURL_ios)){
await launch(whatappURL_ios, forceSafariVC: false);
}else{
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: new Text("whatsapp no installed")));
}
}else{
// android , web
if( await canLaunch(whatsappURl_android)){
await launch(whatsappURl_android);
}else{
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: new Text("whatsapp no installed")));
}
}
import 'package:url_launcher/url_launcher.dart';
void _contactViaWhatsApp(context) async {
String whatsAppUrl = "";
String phoneNumber = 'your-phone-number';
String description = "your-custom-message";
if (Platform.isIOS) {
whatsAppUrl =
'whatsapp://wa.me/$phoneNumber/?text=${Uri.parse(description)}';
} else {
whatsAppUrl =
'https://wa.me/+$phoneNumber?text=${Uri.parse(description)}';
}
if (await canLaunch(whatsAppUrl)) {
await launch(whatsAppUrl);
} else {
final snackBar = SnackBar(
content: Text("Install WhatsApp First Please"),
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
}
使用url_launcher我可以打开phone来拨打号码。
var phone = "+123456789";
launch("tel://$phone");
我怎样才能对 facebook messenger 和 whatsapp 做同样的事情?
我找到了解决方案。
要打开 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");
要打开 Messenger 或 facebook:
首先缩短url
如果您的 Facebook 个人资料是 facebook.com/yourName
facebook url 将是 fb.me/yourName
而 Messenger url 将是 m.me/yourName
那你做
launch("http://$messengerUrl");
Facebook 网站将自动在应用程序中打开 link,即使它通过 URL 浏览器也是如此。如果没有安装应用程序,它将转到 app/play 商店
要打开 WhatsApp,您可以使用此插件:https://pub.dartlang.org/packages/flutter_launch
1.将此添加到您的包的 pubspec.yaml 文件中:
dependencies:
flutter_launch: "^0.3.0"
2。安装它
$ flutter packages get
3。导入它
import 'package:flutter_launch/flutter_launch.dart';
4.示例:
await FlutterLaunch.launchWhatsapp(phone: "5534992019999", message: "Hello");
完整示例:https://pub.dartlang.org/packages/flutter_launch#-installing-tab-
我们可以使用flutter包https://pub.dev/packages/url_launcher
用于发送号码和文本--->
whatsapp://send?phone=XXXXXXXXX&text=Hellothere!
仅发送文本--->
https://api.whatsapp.com/send?text=Hellothere!
导入包url_launcher
:
url_launcher: ^6.0.3
导入依赖:
import 'package:url_launcher/url_launcher.dart';
把你的 url:
const _url = 'https://api.whatsapp.com/...';
创建您的函数:
void _launchURL() async => await canLaunch(_url)
? await launch(_url) : throw 'Not found $_url';
在 Button 中使用,例如:
FloatingActionButton(
onPressed: _launchURL,
...
),
这对我有用! :D
您可以使用 Flutter URL lanucher 插件来启动 whatsapp 应用程序。您需要为 android 和 iphone 添加条件。您可以阅读完整的 Flutter tutorial here.
对于android
var whatsappURl_android = "whatsapp://send?phone="+whatsapp+"&text=hello";
对于iphone
var whatappURL_ios ="https://wa.me/$whatsapp?text=${Uri.parse("hello")}";
首先检测 phone OS 版本 - android 或 iOS
if(Platform.isIOS){
// for iOS phone only
if( await canLaunch(whatappURL_ios)){
await launch(whatappURL_ios, forceSafariVC: false);
}else{
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: new Text("whatsapp no installed")));
}
}else{
// android , web
if( await canLaunch(whatsappURl_android)){
await launch(whatsappURl_android);
}else{
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: new Text("whatsapp no installed")));
}
}
import 'package:url_launcher/url_launcher.dart';
void _contactViaWhatsApp(context) async {
String whatsAppUrl = "";
String phoneNumber = 'your-phone-number';
String description = "your-custom-message";
if (Platform.isIOS) {
whatsAppUrl =
'whatsapp://wa.me/$phoneNumber/?text=${Uri.parse(description)}';
} else {
whatsAppUrl =
'https://wa.me/+$phoneNumber?text=${Uri.parse(description)}';
}
if (await canLaunch(whatsAppUrl)) {
await launch(whatsAppUrl);
} else {
final snackBar = SnackBar(
content: Text("Install WhatsApp First Please"),
);
ScaffoldMessenger.of(context).showSnackBar(snackBar);
}
}