Как я могу посылать сообщение из-за WhatsApp в специфический контакт с другого приложения android?

Я разрабатываю приложение, что я послал сообщение специфическому контакту WhatsApp с моего app.

Уже попробуйте этот код.

Uri mUri = Uri.parse("smsto:+999999999");
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);

Контакт, если он выбирается, но проблема состоит в том, что текст не получен WhatsApp, только выбирается контакт.

уже используйте этот код, и если envira текст, но я должен выбирать вручную контакт для того, чтобы оно функционировало

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent); 
5
задан 01.04.2016, 01:59
2 ответа

Из-за вопросов безопасности, не позволяют и не является возможным выполнять предварительную сортировку пользователь, если ты хочешь послать сообщение Whatsapp с приложения Android.

Так что возможным единственным является то, что ты комментируешь, открывается приложение и клиент должен выбирать пользователя, который хочет послать сообщение:

public void enviaMensajeWhatsApp(String msj) {    
        PackageManager pm=getPackageManager();
        try {
            Intent waIntent = new Intent(Intent.ACTION_SEND);
            waIntent.setType("text/plain");             
            PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA);
            waIntent.setPackage("com.whatsapp");
            waIntent.putExtra(Intent.EXTRA_TEXT, msj);
            startActivity(Intent.createChooser(waIntent, "Compartir con:"));
        } catch (PackageManager.NameNotFoundException e) {
            Toast.makeText(this, "WhatsApp no esta instalado!", Toast.LENGTH_SHORT)
                    .show();
        }
    }

Выполняя предыдущий метод:

enviaMensajeWhatsApp("Mi mensaje es abcdef 1234567890");

открывает приложение WhatsApp и мы должны выбирать пользователь, который должен посылать сообщение:

introducir la descripción de la imagen aquí


Если ты хочешь выполнить предварительную сортировку пользователь, чтобы посылать сообщение, ты можешь реализовывать это посредством одного Intent.ACTION_VIEW, но ты требуешь, чтобы определенное число контакта должно было быть зарегистрированным в твоем телефоне.

Число должно содержать код страны и код площади, инициализируясь со знаком "+", например моя страна Мексика +52, код площади для Mexico City 55 и мой телефон 1234567890:

 String msj = "Mi mensaje es abcdef 1234567890";
 String numeroTel = "+52551234567890";
 Intent intent = new Intent(Intent.ACTION_VIEW);
 String uri = "whatsapp://send?phone=" + numeroTel + "&text=" + msj;
 intent.setData(Uri.parse(uri));
 startActivity(intent);

Таким образом, откроется окно контакта, которое будет нужно посылать, и сообщение автоматически, в этом случае также из-за безопасности человеческий пользователь должен включать envió:

introducir la descripción de la imagen aquí

6
ответ дан 24.11.2019, 14:40
  • 1
    Если, я так буду должен использовать это. Спасибо. – Johny Moo 02.04.2016, 00:54
  • 2
    есть algú n có я говорю для того, чтобы сообщение было послано, а именно, что не только появился в редакторе но он будет послан разом (давать ему посылать с App третьего)??? – Héc Ang 07.09.2017, 01:12

Измени твой Intent для того, чтобы он остался asГ, - в этом случае у меня это есть одна funciГіn, где я называю ее с одного botГіn из-за скорости, но равный ты это изменяешь в твою необходимость.

prueba.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onClickWhatsApp();
        }
    });


public void onClickWhatsApp() {

    PackageManager pm=getPackageManager();
    try {

        Intent waIntent = new Intent(Intent.ACTION_SEND);
        waIntent.setType("text/plain");
        String text = "Tu texto aquí";

        PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA);
        waIntent.setPackage("com.whatsapp");

        waIntent.putExtra(Intent.EXTRA_TEXT, text);
        startActivity(Intent.createChooser(waIntent, "Compartir con"));

    } catch (PackageManager.NameNotFoundException e) {
        Toast.makeText(this, "WhatsApp no está instalado", Toast.LENGTH_SHORT)
                .show();
    }

}

imagen

шрифт-> aquГ -

2
ответ дан 24.11.2019, 14:40
  • 1
    Привет мне кажется интересным использование < в href = и quot; whatsapp://send? text=Hello%20World! " > Hello, world! < / a> с одной p и # 225; gina Веб открывать app, просвет мы нуждаемся в разрешениях, очень хорошем вкладе! +1 – Jorgesys♦ 02.04.2016, 00:56