Send Whatsapp Message to UnSaved Number

青春壹個敷衍的年華 提交于 2019-12-06 14:15:39

问题


I am trying to send a whatsapp message to a specific number without having to save that contact.

Here is my code

 try {
    Uri uri = Uri.parse("smsto: " + smsNumber);
    //Timber.e("smsNumber %s", uri.toString());
    Intent i = new Intent(Intent.ACTION_SENDTO, uri);
    i.setPackage("com.whatsapp");
    startActivity(Intent.createChooser(i, ""));

} catch (Exception e) {
    Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT).show();
}

and the message I get from that

This is what I get


回答1:


Try this Here. This helped me

private void openWhatsApp() {
    String smsNumber = "+26377*********";
    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;
}



回答2:


Hii u can use this code:

 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);

It will help you




回答3:


Intent sendIntent = new Intent("android.intent.action.MAIN");

sendIntent.setComponent(new ComponentName("com.whatsapp","com.whatsapp.Conversation"));
sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators("**91**"+smsnumber) + "@s.whatsapp.net");//phone number without "+" prefix
context.startActivity(sendIntent);


来源:https://stackoverflow.com/questions/41629511/send-whatsapp-message-to-unsaved-number

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!