2016-11-15 3 views
0

Если я это сделать:Представить все VOIP приложения на устройстве пользователя

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("message/rfc822"); 
intent.putExtra(Intent.EXTRA_EMAIL, email.getAddress()); 
intent.putExtra(Intent.EXTRA_SUBJECT, email.getSubject()); 
intent.putExtra(Intent.EXTRA_TEXT, email.getBody()); 
activity.startActivity(Intent.createChooser(intent, "Send mail...")); 

приложение появится выбор всех приложений, которые можно отправить по электронной почте. Как я могу сделать то же самое с VOIP? То есть не указывать конкретное приложение VOIP, но вызывать все приложения VOIP на устройстве, например. Skype, Viber, Whatsapp для выбора пользователем.

+0

Почему VOIP, а не номер телефона? – DeeV

+0

Поскольку пользователь может находиться в зоне беспроводной связи, но сотовый - нет. –

ответ

0

Деятельность/намерения имеют встроенную функциональность для телефона и электронной почты, но, как ни странно, для VOIP, поэтому нужно делать это вручную, так сказать. Вы можете найти такой пакет:

// com.google.android.talk/.SigningInActivity m=0x108000}         
// com.skype.raider/.Main m=0x108000} Intent filter: null         
// com.viber.voip/.WelcomeActivity m=0x108000} Intent filter: null       
// com.whatsapp/.Main m=0x108000} Intent filter: null          
private static String HANGOUTS_PACKAGE_STRING = "com.google.android.talk";     
private static String SKYPE_PACKAGE_STRING = "com.skype.raider";        
private static String VIBER_PACKAGE_STRING = "com.viber.voip";        
private static String WHATASPP_PACKAGE_STRING = "com.whatsapp";        

Intent intent = context.getPackageManager().getLaunchIntentForPackage(VIBER_PACKAGE_STRING); 

Обратите внимание, что Hangouts больше не поддерживается.

Смежные вопросы