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

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.

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.

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.

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

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.

Você pode começar a enviar mensagens do WhatsApp usando as instruções detalhadas na página inicial do aplicativo GB Whatsapp

Lisa, olá.

Seja muito bem vinda ao fórum. Louvável o seu intuito de ajudar, pois todos aqui têm esse perfil de ajuda abnegada.

Espero que você possa contribuir muito com as dúvidas dos novatos.

Só tenha atenção com as datas dos posts… esse que você respondeu teve a última postagem há três anos atrás.

Novamente seja bem vinda ao fórum!

Bons estudos!