使用Intent通过whatsapp发送消息

时间:2016-06-22 12:41:58

标签: android

我找到了一些通过whatsapp发送消息的代码。像这样的东西:

    Button send=(Button)findViewById(R.id.sendbtn);
    EditText input=(EditText)findViewById(R.id.inputtxt);
    final String txt=input.getText().toString();

    send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent sendIntent=new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(Intent.EXTRA_TEXT,txt);
            sendIntent.setType("text/plain");
            sendIntent.setPackage("com.whatsapp");
            startActivity(sendIntent);



        }
    });`

代码正在运行但是当whatsapp屏幕出现并且我选择了一个联系人时,我的whatsapp关闭了,我的应用程序出现了。还有什么要添加来发送消息吗?

2 个答案:

答案 0 :(得分:1)

根据{{​​3}}

,你所做的是正确的

它会打开whatsapp并允许您选择要将消息发送到

的联系人
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");sendIntent.setPackage("com.whatsapp");
startActivity(sendIntent);

或者,您也可以选择一个联系人,然后将打开whatapps并选择联系人。然后,您可以从该窗口添加自己的文本。

查看此问题的答案:https://www.whatsapp.com/faq/android/28000012

您不能做的是使用意图直接从您的应用向特定联系人发送消息。 (我认为这是对whatsapp部分的反垃圾邮件决定。)

答案 1 :(得分:1)

尝试以下更改的代码:

Button send=(Button)findViewById(R.id.sendbtn);
EditText input=(EditText)findViewById(R.id.inputtxt);


send.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        final String txt = input.getText().toString();

        Intent sendIntent=new Intent();
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.putExtra(Intent.EXTRA_TEXT,txt);
        sendIntent.setType("text/plain");
        sendIntent.setPackage("com.whatsapp");
        startActivity(sendIntent);



    }
});`