使用外部应用程序在后台向whatsapp号码发送消息

时间:2015-01-12 19:23:14

标签: java android api whatsapp

  • 尝试了stackoverflow上的所有内容,现在我可以使用msg frwd了。但是在你实际点击否之前不会发送消息。来自whatsApp的联系清单..... Plz帮助被困在这里几天.... 事情是我正在尝试构建一个应用程序,当我给出一个数字时,应该使用whatsapp将msg发送给它。使用此代码时,msg正在被覆盖,当我选择一个数字时,它会向其发送预定义的消息。但是我希望msg应该直接发送而不用whatsApp等待用户点击数字..

         //checks if whats app is installed or not..        
         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;
            }
    
            //Main Process
              boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp");
                    if (isWhatsappInstalled) {
                        String a="91*********0";// the nuber to which msg is to be sent
                        Uri uri = Uri.parse("smsto:" + a);
                        Intent sendIntent = new Intent(Intent.ACTION_SEND, uri);
                        sendIntent.putExtra(Intent.EXTRA_TEXT, "Test message"+a);//msg to be sent
                      //sendIntent.putExtra("sms_body", "ydyeryyerf");  
                        sendIntent.setType("text/plain");// type of msg->text
                        sendIntent.putExtra("chat",true);
                        sendIntent.setPackage("com.whatsapp");// picks whats app
                      //  startActivity(sendIntent);
                        startActivity(Intent.createChooser(sendIntent, a));//starts whats app                                                                       
                      } else {
                        // should redriect to play store to download whatsApp
                        Toast.makeText(getApplicationContext(), "WhatsApp not Installed",
                                Toast.LENGTH_SHORT).show();
                        Uri uri = Uri.parse("market://details?id=com.whatsapp");
                        Intent playStore = new Intent(Intent.ACTION_VIEW, uri);
                        startActivity(playStore);
    
                    }
    

2 个答案:

答案 0 :(得分:1)

而不是使用Uri uri = Uri.parse("smsto:" + a); 使用sendIntent.putExtra("jid", + number + "@s.whatsapp.net") "数"应该是没有前导+

的实际数字

答案 1 :(得分:0)

简短回答:这可能。 除非您为whatsapp api构建自己的实现,否则您无法执行此操作,在这种情况下,您将需要发件人电话号码和密码,这不能用于实际操作。执行此操作的漫长步骤如下: 1 - 带上扎根手机并将发件人SIM卡放入 2 - 获取whatsapp存储密码的文件并获取密码 3 - 实现whatsapp迷你客户端,使用此用户名和密码发送您的消息。