2012-03-14 14 views
6

Questo è come io chiamo l'applicazione SMS:Come usare whatsapp dalla mia app per Android?

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

      startActivity(sendIntent); 

Come faccio a fare lo stesso per l'invio di messaggi via Twitter/Whatsapp/Facebook? Cosa dovrei scrivere al posto di mms-sms? Non ho trovato documentazione su tale.

+0

tuo Accetta punteggio è davvero basso . Se vuoi che la gente risponda alle tue domande, deve essere più alta. –

risposta

8

Non riesco a trovare alcun modo di chiamare direttamente Facebook/Twitter, ma è sempre possibile chiamare android.content.Intent.ACTION_SEND e lasciare che l'utente scelga l'applicazione.

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

Tuttavia, ci potrebbe essere un bug quando si utilizza questo per condividere tramite Facebook. Per maggiori informazioni si prega di consultare: Android Facebook Intent

+0

Provato questo, mostra solo le e-mail che non mostrano l'opzione di messaggio diretto, altre applicazioni di chat nella finestra di dialogo, come mostrarle. –

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

risposta perfetta .. – Noman

+1

Non controlla se WhatsApp è installato o meno. Vedi http://stackoverflow.com/questions/15462874/sending-message-through-whatsapp – 0101100101

+0

Ho modificato la mia risposta. ora controlla se WhatsApp è installato o meno. – krishan

0

È possibile utilizzare i seguenti frammenti: per 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(); 
    } 
} 

Per 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 ;  
} 
Problemi correlati