2015-10-09 28 views
6

Hey ragazzi Sto cercando di creare un intento che inizia la conversazione skype con una certa persona. Avendo esaminato tutto lo stackoverflow, non riesco ancora a farlo funzionare correttamente. Qui è il mio codice:Schermata della chat di Skype dall'intenzione

String skypeUri = "skype:name?chat"; 
Intent intent = new Intent(); 
intent.setData(Uri.parse(skypeUri)); 
       intent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main")); 
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivity(intent); 

mio filtro intento:

  <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <data android:scheme="skype" /> 
     </intent-filter> 

E mi porta a Skype, ma solo alla pagina principale di esso, nessuna conversazione è aperto. Qualsiasi aiuto sarebbe apprezzato.

risposta

1

Supponendo che si tratti del codice esatto, il problema è che non si sta passando il nome utente della persona che si desidera chiamare. Hai solo "nome" dove dovrebbe essere il loro nome utente. Hai bisogno di qualcosa di simile:

String skypeUri = "skype:"+username+"?chat"; 
3

basta utilizzare il codice qui sotto

Intent skypeIntent = new Intent("android.intent.action.VIEW"); 
skypeIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main")); 
skypeIntent.setData(Uri.parse("skype:" + skypeId + "?chat"));