2016-08-05 3 views
0

В списке контактов в моем Android приложение, есть возможность начать реализовать WhatsApp следующим образом:Выберите из SMS, WhatsApp, или Телеграмма отправить сообщение

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

, но это только позволит мне отправлять сообщения через WhatsApp.

Удаление имени пакета и установки намерения типа в

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

запустил приложение SMS.

Как мы можем выбрать среди всех приложений, установленных на устройстве Android, которые используют номер телефона как и идентификатор (Hangouts, SMS, Skype, Line, Telegram, Viber, WhatsApp и т. Д.)?

+0

Я считаю его предпочитали размещать их в SO Документах. – Shaishav

+0

@Shaishav, можно ли переместить сообщение? –

ответ

1

К счастью Android Intent.createChooser достаточно умен, чтобы понять, приложения, которые понимают телефонные номера в качестве идентификатора :-)

// 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")); 
Смежные вопросы