2016-08-05 22 views
0

Bei einer Kontaktliste zu senden, gibt es eine Option zu starten WhatsApp wie folgt umgesetzt:unter SMS wählen, WhatsApp oder Telegramm Nachricht in meinem Android App

// Country code is required 
final String phoneNumber = "+15555555555"; 
final String packageName = "com.whatsapp"; 

Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); 

if (null == intent) { 
    // Launch Google Play at WhatsApp homepage 
    intent = new Intent(Intent.ACTION_VIEW); 
    intent.setData(Uri.parse("market://details?id=" + MESSAGE_PACKAGE_NAME)); 
    startActivity(intent); 
    return; 
} 

intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phoneNumber)); 
intent.setPackage(packageName); 
startActivity(intent); 

aber nur mir erlauben, Nachrichten zu senden durch WhatsApp.

Entfernen der Paketnamen und die Einstellung der Absicht Typ

intent.setType("vnd.android-dir/mms-sms"); 

die SMS-Anwendung gestartet.

Wie können wir unter allen Apps auswählen, die auf einem Android-Gerät installiert sind und die Telefonnummer und den Bezeichner verwenden (Hangouts, SMS, Skype, Leitung, Telegramm, Viber, WhatsApp usw.)?

+0

Ich glaube, seine bevorzugte schreiben diese in SO Docs jetzt die Telefonnummern als Kennung verstehen. – Shaishav

+0

@Shaishav, ist es möglich, die Post zu bewegen? –

Antwort

1

Glück Android Intent.createChooser ist intelligent genug, um die Anwendungen, um herauszufinden, dass :-)

// Country code is required 
String phoneNumber = "+15555555555"; 
Uri uri = Uri.parse("smsto:" + phoneNumber); 
Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(Intent.createChooser(intent, "Send message"));