android 从Flutter在IOS上启动WhatsApp时出现问题

to94eoyn  于 2023-03-27  发布在  Android
关注(0)|答案(2)|浏览(124)

通过whatsapp在Flutter发送消息在IOS上不起作用.它在Android上工作正常,但在IOS上whatsapp没有启动.我尝试了3种不同的方法,但在所有这些都不成功.
在流道信息列表中

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>whatsapp</string>
</array>

**1)**首先我尝试了这种方式通过消息发送消息

var whatsappUrl = "whatsapp://send?phone=$phone&text=$message";
  if (await canLaunch(whatsappUrl)) {
    await launch(whatsappUrl);
  } else {
    throw 'Could not launch $whatsappUrl';
  }

但它在启动whatsapp时提供了一个例外

**2)**第二种方式我尝试是从这个link这发现,但它给一个错误,页面找不到

String url() {
  if (Platform.isIOS) {
     return "whatsapp://wa.me/$phone/?text=${Uri.parse(message)}";
  } else {
     return "whatsapp://send?   phone=$phone&text=${Uri.parse(message)}";
  }
}

if (await canLaunch(url())) {
   await launch(url());
} else {
   throw 'Could not launch ${url()}';
}

**3)**最后我试图调用WhatsApp的URL

String message = 'Hi, I see your Ad on Yallamotor and I am interested in your car '+title;
if (Platform.isIOS) {
  await launch("https://wa.me/${phone}?text=${Uri.parse(message)}");
}

但它给错误的WhatsApp像我们找不到你正在寻找的页面

1l5u6lss

1l5u6lss1#

WhatsApp支持iOS设备上的通用URL。
格式为:

https://wa.me/<number>?text=<urlencodedtext>

示例:

Use: https://wa.me/15551234567

Don't use: https://wa.me/+001-(555)1234567

可能您正在调用此URL,但数字格式不正确。
请参阅WhatsApp常见问题iOSAndroid .

3b6akqbq

3b6akqbq2#

默认情况下,launchUrl模式是LaunchMode.platformDefault,这将打开webview,如果你想打开已安装的应用程序,请将其更改为LaunchMode.externalApplication

if (await canLaunchUrl(url)) {
   await launchUrl(url, mode: LaunchMode.externalApplication);
} else {
   throw 'Could not launch $url';
}

相关问题