GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como fazer minha aplicação iniciar um chat no whatsapp?


#1

Eu estou usando este codigo:

void openWhatsappContact(String number) {
        Uri uri = Uri.parse("smsto:" + number);
        Intent i = new Intent(Intent.ACTION_SENDTO, uri);
        i.setPackage("com.whatsapp");
        startActivity(Intent.createChooser(i, ""));
    }

Só que ele só abre a conversa se eu tiver o contato na lista.
Alguem sabe como faço para ele abrir a conversa mesmo que o contato não esteja na lista.


#2

Pela documentação do WhatsApp, você pode fazer o seguinte código:

public void enviaTexto(String texto) {
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, texto);
    sendIntent.setPackage("com.whatsapp");
    sendIntent.setType("text/plain");
    startActivity(sendIntent);
}

No entanto, o WhatsApp não oferece uma forma de enviar uma mensagem diretamente a um contato. Esse código acima abrirá a tela do WhatsApp para selecionar o contato e neste local você poderá selecionar contatos com conversas iniciadas ou iniciar uma nova conversa com um contato.


#3

Fala ae FelipeTorres, obrigado pela resposta :D. O código que eu postei já abre diretamente uma conversa com o numero de celular que eu passar como parâmetro, o problema dele é que só abre a conversa se o numero estiver na agenda de contatos do usuário. Minha duvida é se tem algum modo de abrir a conversa com números de contatos que não estão na agenda.


#4

Entendi. Isso não dá pra fazer, não, pois só dá pra mandar mensagem se o contato estiver na lista do WhatsApp.


#5

Não sou muito expert no assunto, mas tenho uma ideia: você poderia validar se a pessoa tem seu número na agenda de contatos e caso não tenha, adicione? Em alguns cursos que eu fiz, não era muito difícil essa tarefa.