将所有VOIP应用程序呈现给用户

时间:2016-11-15 16:35:04

标签: android android-intent

如果我这样做:

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供用户选择。

1 个答案:

答案 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);

请注意,不再支持环聊。