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.
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.
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.
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.