Send message to specific contact through whatsapp from another app

前端 未结 6 2227
无人共我
无人共我 2021-02-20 07:58

Is it possible to send message to a specific contact through whatsapp directly from another app? I know the contact ID. I don\'t want to open whatsapp

相关标签:
6条回答
  • 2021-02-20 08:35

    Please try this. Its working perfectly fine for me.

        Intent sendIntent = new Intent("android.intent.action.MAIN");
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.setPackage("com.whatsapp");
        sendIntent.setType("text/plain");
        sendIntent.putExtra("jid", "9194******22" + "@s.whatsapp.net");// here 91 is country code
        sendIntent.putExtra(Intent.EXTRA_TEXT, "Demo test message");
        startActivity(sendIntent);
    
    0 讨论(0)
  • 2021-02-20 08:35

    I hope this code helps you

    String text = "This is a test";// Replace with your message.
    
    String toNumber = "xxxxxxxxxx"; // Replace with mobile phone number without +Sign or leading zeros, but with country code
    //Suppose your country is India and your phone number is “xxxxxxxxxx”, then you need to send “91xxxxxxxxxx”.
    
    
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://api.whatsapp.com/send?phone="+toNumber +"&text="+text));
    startActivity(intent);
    
    0 讨论(0)
  • 2021-02-20 08:44

    It wont send message in a go but lets you open the screen for the same in whatsapp:

    private void openWhatsApp() {
        String smsNumber = "91XXXXXXXX20";
        boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp");
        if (isWhatsappInstalled) {
    
            Intent sendIntent = new Intent("android.intent.action.MAIN");
            sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
            sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators(smsNumber) + "@s.whatsapp.net");//phone number without "+" prefix
    
            startActivity(sendIntent);
        } else {
            Uri uri = Uri.parse("market://details?id=com.whatsapp");
            Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
            Toast.makeText(this, "WhatsApp not Installed",
                    Toast.LENGTH_SHORT).show();
            startActivity(goToMarket);
        }
    }
    
    private boolean whatsappInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            app_installed = true;
        } catch (PackageManager.NameNotFoundException e) {
            app_installed = false;
        }
        return app_installed;
    }
    
    0 讨论(0)
  • 2021-02-20 08:56

    Please try this,

    public void onClickWhatsApp(View view) {
    
    Intent waIntent = new Intent(Intent.ACTION_SEND);
    waIntent.setType("text/plain");
            String text = "YOUR TEXT HERE";
    waIntent.setPackage("com.whatsapp");
    if (waIntent != null) {
        waIntent.putExtra(Intent.EXTRA_TEXT, text);//
        startActivity(Intent.createChooser(waIntent, "Share with"));
    } else {
        Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT)
                .show();
    }
    }
    

    Source : Please check this answer for further details

    0 讨论(0)
  • 2021-02-20 09:01

    Let me know if it works for you,

    Uri mUri = Uri.parse("smsto:+9876543210");
    Intent mIntent = new Intent(Intent.ACTION_SENDTO, mUri);
    mIntent.setPackage("com.whatsapp");
    mIntent.putExtra("sms_body", "The text goes here");
    mIntent.putExtra("chat",true);
    startActivity(mIntent);
    
    0 讨论(0)
  • 2021-02-20 09:02

    This will be work but you need to mobile no. with country code like for India 91. eg. 91758XXXXXX2

    String url = "https://api.whatsapp.com/send?phone=" + 91758XXXXXX2 + "&text=" + URLEncoder.encode("good morning", "UTF-8");
        i.setPackage("com.whatsapp");
        i.setData(Uri.parse(url));
        if (i.resolveActivity(packageManager) != null) {
          startActivity(i);
        }
    
    0 讨论(0)
提交回复
热议问题