从我的应用程序(Android)向WhatsApp中的用户发送消息

时间:2014-07-16 13:57:37

标签: android sms message whatsapp

我在StackOverflow中经历了大量的WhatsApp帖子。

喜欢这些: Is it legal to use WhatsAPI?

Android Whatsapp/Chat Examples

Sending message through WhatsApp

我的问题是这个。我设法从我的应用程序向WhatsApp发送一条消息给我的联系人列表中的某人。

但是,我想通过WhatsApp向不在我的联系人列表中的人发送消息(不是垃圾邮件!),并且我无法使用给定的解决方案。

怎么可能?

顺便说一下,如何用预先定义的消息填充WhatsApp文本字段的正文,以便用户可以立即编辑或发送? “sms_body”或Intent.EXTRA_TEXT似乎不起作用......

public void shareWhatsApp(String whatsappid) {

    try {
        Cursor c = getContentResolver().query(ContactsContract.Data.CONTENT_URI,
                new String[] { ContactsContract.Contacts.Data._ID }, ContactsContract.Data.DATA1 + "=?",
                new String[] { whatsappid }, null);
        c.moveToFirst();
        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/" + c.getString(0)));
        i.putExtra(Intent.EXTRA_TEXT, "Hello!");

        startActivity(i);
        c.close();
    } catch (Exception e) {
        Toast.makeText(this, "Install WhatsApp First", Toast.LENGTH_LONG).show();;
        e.printStackTrace();
    }
}

3 个答案:

答案 0 :(得分:1)

仅当您的应用在允许的使用范围内时,才应访问“呼叫日志”或“短信”权限,并且仅应启用应用的关键核心功能。

核心功能被定义为应用程序的主要目的。这可能包含一组核心功能,所有这些功能都必须在应用程序的说明中进行突出记录和宣传。如果没有核心功能,则该应用程序将“损坏”或无法使用。 链接-https://support.google.com/googleplay/android-developer/answer/9047303?source=post_page-----9b8226de7827----------------------

答案 1 :(得分:0)

您需要一些EXTRAS才能输入Intent。 您也可以使用电话号码而不是ID。

See this solution here

答案 2 :(得分:0)

我最近回答了这个问题并且效果很好,请在这里搜索我的答案:

Send text to specific contact programmatically (whatsapp)

确实可以通过您自己的Android应用程序向WhatsApp中的特定联系人发送特定消息,

享受! :)