2016-11-15 1 views
0

Wenn ich dies tun:alle VoIP-Anwendungen auf dem Gerät zu Benutzer Präsentieren

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

die App eine Auswahl aller Anwendungen bringen wird, die E-Mail senden können. Wie kann ich das gleiche mit VOIP machen? Das heißt, keine bestimmte VOIP-App angeben, sondern alle VOIP-Apps auf dem Gerät anzeigen, z. Skype, Viber, WhatsApp für den Benutzer auswählen.

+0

Warum VOIP und nicht das Telefon Dialer auch? – DeeV

+0

Da sich der Benutzer möglicherweise in einem Bereich befindet, in dem WLAN verfügbar ist, das Mobilfunksignal jedoch nicht. –

Antwort

0

Aktivität/Intents haben eingebaute Funktionalität für Telefon und E-Mail, aber seltsamerweise nicht für VOIP, so dass dies von Hand zu tun, sozusagen. Sie können ein Paket wie folgt finden:

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

Beachten Sie, dass Hangouts nicht mehr unterstützt wird.

Verwandte Themen