whatsapp://send?text= 不起作用

问题描述 投票:0回答:3
javascript android whatsapp
3个回答
18
投票

这是您应该使用的网址:

https://api.whatsapp.com/send?phone=15551234567&text=I'm%20interested%20in%20your%20car%20for%20sale

在 JavaScript 中,您必须对文本进行编码,例如

var url='https://api.whatsapp.com/send'
var text='text can contain this char: &'
window.open(url + '?phone=2211227373&text=' encodeURIComponent(text))

0
投票

实际上我在 Flutter 中使用了这段代码:

onPressed: () async {
  String appUrl;
  String phone = '+989125272xxx'; // phone number to send the message to
  String message = 'Merhaba,'; // message to send
  if (Platform.isAndroid) {
    appUrl = "whatsapp://send?phone=$phone&text=${Uri.parse(message)}"; // URL for Android devices
  } else {
    appUrl = "https://api.whatsapp.com/send?phone=$phone=${Uri.parse(message)}"; // URL for non-Android devices
  }

  // check if the URL can be launched
  if (await canLaunchUrl(Uri.parse(appUrl))) {
    // launch the URL
    await launchUrl(Uri.parse(appUrl));
  } else {
    // throw an error if the URL cannot be launched
    throw 'Could not launch $appUrl';
  }
},

但这非常重要,您需要将 QUERY_ALL_PACKAGES 权限添加到应用程序的 AndroidManifest.xml 文件中,才能在 Android 12 或更高版本 设备上正常工作。此权限允许您的应用查询设备上所有已安装的软件包,包括 WhatsApp。

在 AndroidManifest.xml 文件的清单标记内添加以下行:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

0
投票

目前的做法:

<a href="https://wa.me/48123456789?text=Some%20text">Send message</a>

其中

48123456789
是完整的电话号码,
text
参数指定文本。

© www.soinside.com 2019 - 2024. All rights reserved.