java - 如何使用特定联系人从其他应用程序打开 Whatsapp?

标签 java android android-intent chat whatsapp

我已经阅读了如何从我的应用程序打开 whatsapp,如问题 How to open Whatsapp from other app 中所解释的那样- 但它没有说明如何打开与特定联系人的聊天。有什么方法可以打开与特定联系人的聊天吗?

最佳答案

您可以打开特定联系人的 whats app,但该联系人必须拥有 whats app 帐户。

private void openWhatsApp() {
    String smsNumber = "91xxxxxxxxxx"; //without '+'
    try {
        Intent sendIntent = new Intent("android.intent.action.MAIN");
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.setType("text/plain");
        sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
        sendIntent.putExtra("jid", smsNumber + "@s.whatsapp.net");
        sendIntent.setPackage("com.whatsapp");
        startActivity(sendIntent);
    } catch(Exception e) {
        Toast.makeText(this, "Error\n" + e.toString(), Toast.LENGTH_SHORT).show();
    }
}

上述代码的常见错误是

  1. ACTION_SEND 不是 ACTION_SENDTO
  2. 非常小心联系电话,它应该有“91”或基于国家/地区的任何其他代码。
  3. 不应在数字前使用任何特殊字符,例如 +。

关于java - 如何使用特定联系人从其他应用程序打开 Whatsapp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46266964/

相关文章:

android - 如何在 Android 开发者工具中将 Cordova 2.9.0 升级到 3.6?

java - RadioGroup 扩展 RelativeLayout?

java - setSmallIcon() 和 setLargeIcon() 在 Android 通知中不起作用

java - 如何在 Gson 中读取 Json.NET ISO 8601 格式?

android - java.lang.IndexOutOfBoundsException : getChars (7 . .. 0) 在开始之前结束

android - 如何在特定时间在 Android 应用程序中设置通知?

android - 是不是每个安卓手机都默认有街景应用?

使用 showInstallPrompt 从即时调用可安装应用程序的 Java 语法

java - 为什么只读一次循环读取logcat

java - 如何使用可解析的基本引用调用 xpath document()