2012-03-14 11 views
6

Esta es la forma en que estoy llamando la aplicación SMS:¿Cómo usar WhatsApp desde mi aplicación de Android?

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
      sendIntent.putExtra("sms_body", "The SMS text"); 
      sendIntent.setType("vnd.android-dir/mms-sms"); 

      startActivity(sendIntent); 

¿Cómo se hace lo mismo para el envío de mensajes a través de twitter/WhatsApp/Facebook? ¿Qué debería escribir en lugar de mms-sms? No encontré documentación sobre eso.

+0

Su Aceptar puntuación es muy baja . Si desea que las personas respondan sus preguntas, debe ser mayor. –

Respuesta

8

No puedo encontrar ninguna forma de llamar a Facebook/Twitter directamente, pero siempre puede llamar al android.content.Intent.ACTION_SEND y dejar que el usuario elija la aplicación.

Android ACTION_SEND intent

Intent i = new Intent(android.content.Intent.ACTION_SEND); 

i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
i.putExtra(Intent.EXTRA_TEXT, "Message body"); 

startActivity(Intent.createChooser(i, "Share dialog title")); 

Sin embargo, puede haber un error cuando se utiliza esto para compartir a través de Facebook. Para obtener más información, véase: Android Facebook Intent

+0

Ha intentado esto, muestra solo el correo electrónico que no muestra la opción de mensaje directo, otras aplicaciones de chat en el diálogo, cómo mostrarlas. –

0
Intent i = new Intent(Intent.ACTION_SEND); 
i.setPackage("com.whatsapp"); 
i.putExtra("chat",true); 
i.setType("text/plain"); 
startActivity(i); 
2
public void onClickWhatsApp(View view) { 
    try { 
     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
       String text = "YOUR TEXT HERE"; 
     waIntent.setPackage("com.whatsapp"); 
     if (waIntent != null) { 
      waIntent.putExtra(Intent.EXTRA_TEXT, text);// 
      startActivity(Intent.createChooser(waIntent, "Share with")); 
     } else { 
      Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
        .show(); 
     }} catch (NameNotFoundException e) { 
     Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
       .show(); 
    } 

    } 
+0

respuesta perfecta .. – Noman

+1

No comprueba si WhatsApp está instalado o no. Ver http://stackoverflow.com/questions/15462874/sending-message-through-whatsapp – 0101100101

+0

He editado mi respuesta. ahora comprueba si WhatsApp está instalado o no. – krishan

0

Se pueden utilizar los siguientes fragmentos: para WhatsApp:

public void onClickWhatsApp(View view) { 

    PackageManager pm=getPackageManager(); 
    try { 

     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
     String text = "YOUR TEXT HERE"; 

     PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA); 
     //Check if package exists or not. If not then code 
     //in catch block will be called 
     waIntent.setPackage("com.whatsapp"); 

     waIntent.putExtra(Intent.EXTRA_TEXT, text); 
     startActivity(Intent.createChooser(waIntent, "Share with")); 

    } catch (NameNotFoundException e) { 
     Toast.makeText(this, "WhatsApp not Installed", Toast.LENGTH_SHORT) 
       .show(); 
    } 
} 

para Twitter:

void shareOnTwitter() 
{ 
    PackageManager pm=getPackageManager(); 
    try { 
     Intent waIntent = new Intent(Intent.ACTION_SEND); 
     waIntent.setType("text/plain"); 
     String text = "Insert Tweet Here"; 

     @SuppressWarnings("unused") 
     PackageInfo info=pm.getPackageInfo("com.twitter.android", PackageManager.GET_META_DATA); 
     //Check if package exists or not. If not then code 
     //in catch block will be called 
     waIntent.setPackage("com.twitter.android"); 

     waIntent.putExtra(Intent.EXTRA_TEXT, text); 
     startActivity(Intent.createChooser(waIntent, "Share with")); 

    } catch (NameNotFoundException e) { 
     Toast.makeText(this, "Twitter not Installed", Toast.LENGTH_SHORT) 
     .show(); 
     return ; 
    } 
    return ;  
} 
Cuestiones relacionadas