2013-07-21 17 views
8

Come posso inviare il massaggio dal mio app per il numero speciale in whatsapp, so che questo codice per condividere il massaggio al gruppo o di contatto sulla whatsappInvio messaggio attraverso WhatsApp Con l'intento

Intent waIntent = new Intent(Intent.ACTION_SEND); 
waIntent.setType("text/plain"); 
String text = "Sorry For Interruption,I'm Just Trying Something"; 
waIntent.setPackage("com.whatsapp"); 

if (waIntent != null) { 
    waIntent.putExtra(Intent.EXTRA_TEXT, text);// 
    startActivity(Intent.createChooser(waIntent,"Share with")); 

ma voglio trasmettere il massaggio speciale numero come "966xxxxxxx" come posso farlo?

+0

Non c'è modo di farlo a meno che whatsapp non abbia la possibilità di farlo. – Alamri

+0

Hai bisogno di whatsapp per capire i campi extra nel tuo intento. Quindi, se WhatsApp non può farlo, non hai modo di raggiungere il tuo obiettivo. Prova a cercare documentazione su Whatsapp BroadcastReveivers e su come vengono analizzati gli Intenti. –

+0

Grazie, ho trovato la soluzione :) –

risposta

5

questa è una soluzione:

private void openWhatsApp(String id) { 

Cursor c = getSherlockActivity().getContentResolver() 
      .query(ContactsContract.Data.CONTENT_URI, 
        new String[] { ContactsContract.Contacts.Data._ID }, 
        ContactsContract.Data.DATA1 + "=?", 
        new String[] { id }, 
        null); 

c.moveToFirst(); 
Intent i = new Intent(Intent.ACTION_VIEW, 
       Uri.parse(
        "content://com.android.contacts/data/" +   
        c.getString(0))); 

startActivity(i); 
c.close(); 
} 

dove ID è ciò che è app uri come [email protected]

+0

Funziona davvero ?, il codice può invia messaggio whatsapp? o semplicemente visualizzare un messaggio di contatto? – Sieryuu

+0

Se questo lavoro è davvero grandioso? conferma? –

+0

@Sieryuu basta aprire la cronologia chat per un contatto specifico. – BeingMIAkashs

1

è possibile utilizzare questo codice per inviare i dati ad un numero perticuler

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, ""));} 

questo funziona davvero per me goditi il ​​tuo codice :)

+0

è sufficiente aprire la console di chat per quel numero. Il messaggio viene passato alla console di chat. Intent.createChooser (i, "messaggio") non ha avuto alcun effetto. –