从我的Android应用程序发送文本消息到Whatsapp到特定联系人

时间:2016-02-26 09:18:39

标签: android numbers message

我正在尝试从我的Android应用程序向Whatsapp发送短信到特定联系人。当我使用下面的代码时,我成功发送消息并且必须手动接收联系人,或者如果打开特定号码聊天窗口,但消息是空白的。那么可以用一个意图做两件事吗?这是我的代码:

  1. 我可以与WhatsApp分享信息,但联系我必须手动选择:

    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("text/plain");        
    i.setPackage("com.whatsapp");       
    i.putExtra(Intent.EXTRA_TEXT, "Hello World");       
    try {           
        activity.startActivity(i);      
    } catch (Exception e) {             
        e.printStackTrace();        
    }
    
  2. wats app窗口中的特定号码打开,但消息为空白:

    Uri uri = Uri.parse("smsto:" + number);          
    Intent i = new Intent(Intent.ACTION_SENDTO, uri);
    i.putExtra("sms_body", "smsText");       
    i.setPackage("com.whatsapp");        
    activity.startActivity(i);
    

2 个答案:

答案 0 :(得分:0)

以下代码可以帮助您:

 String strMessageToShare=YourEditText.getText().tostring();
 final Intent myIntent = new Intent(
                    android.content.Intent.ACTION_SEND_MULTIPLE);
 myIntent.setType("text/plain");
 myIntent.putExtra(android.content.Intent.EXTRA_TEXT,
                    new String[]{strMessageToShare});
 YourActivity.this.startActivityForResult(Intent
                    .createChooser(myIntent, "Sharing message..."), 1);

答案 1 :(得分:0)

这对我有用。

whatsapp应用程序无法读取参数'body',而是使用'Intent.EXTRA_TEXT'。

通过设置'phoneNumber',您可以指定要在whatsapp中打开的联系人。

    Intent sendIntent = new Intent(Intent.ACTION_SENDTO, 
           Uri.parse("smsto:" + "" + phoneNumber + "?body=" + encodedMessage));
    sendIntent.putExtra(Intent.EXTRA_TEXT, message);
    sendIntent.setPackage("com.whatsapp");
    startActivity(sendIntent);
相关问题