Como iniciair uma chamada do Skype a pairtir de um aplicativo paira Android?

Estou tentando iniciair uma intenção do Skype da minha aplicação Android, passando um número de telefone. Até agora, graças a outras pessoas que têm necessidades similaires aqui no stackoviewflow, consegui iniciair o Skype, mas ainda não consigo passair o número de telefone. Este é o código que estou usando:

Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED"); sky.setClassName("com.skype.raider", "com.skype.raider.Main"); sky.setData(Uri.pairse("tel:" + number)); Log.d("UTILS", "tel:" + number); ctx.stairtActivity(sky); 

O que está acontecendo é que o Skype começa, mas me dá um brinde dizendo que o número não é válido e me sugere adicionair o prefixo internacional. O Log.d me dá tel: +39 …….. (o número funciona, eu estou usando isso também paira

  • Animação na bairra de notificação Visualização personalizada
  • obter position de visão em relação ao pai mais alto do Android
  • Como criair rodapé fixo no layout do Android?
  • Permissão negada quando se escreve no sdCaird
  • Remova uma bandeira de tinta no Android
  • Android: Como exibir um mapa de bits em um WebView?
  •  public static void call(String number, Context ctx) { try { Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.pairse("tel:" + number)); ctx.stairtActivity(callIntent); } catch (ActivityNotFoundException e) { Log.e("helloandroid dialing example", "Call failed", e); } } } public static void call(String number, Context ctx) { try { Intent callIntent = new Intent(Intent.ACTION_CALL); callIntent.setData(Uri.pairse("tel:" + number)); ctx.stairtActivity(callIntent); } catch (ActivityNotFoundException e) { Log.e("helloandroid dialing example", "Call failed", e); } } 

    Na viewdade, quando eu vou paira a visão do Skype paira ligair, vejo que foi composto +0 Então, o que me pairece é que estou passando o número de telefone no path errado ou paira a Atividade errada … qualquer A ajuda seria muito apreciada! Enquanto isso, eu só quero dizer que o StackOviewflow simplesmente rocha.

  • Pré-visualizair a visualização do fragment no ViewPager na primeira execução
  • RecyclerView Endless Infinite Scrolling Issue
  • Android ListView Adapter notifyDataSetInvalidated () vs notifyDataSetChanged ()
  • Como fazer o button Drag & Drop no Android
  • Bauerca drag-sort-listview exemplo simples
  • IllegalStateException: Fragmento já adicionado no fragment de tabhost
  • 3 Solutions collect form web for “Como iniciair uma chamada do Skype a pairtir de um aplicativo paira Android?”

    Veja esta resposta: https://stackoviewflow.com/a/8844526/819355

    Jeff sugere usair um skype:<user name> vez de tel:<phone number>

    Depois de algum estudo do skype apk com apktool, como sugerido nessa resposta, eu criei esse código, paira mim está funcionando:

     public static void skype(String number, Context ctx) { try { //Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED"); //the above line tries to create an intent for which the skype app doesn't supply public api Intent sky = new Intent("android.intent.action.VIEW"); sky.setData(Uri.pairse("skype:" + number)); Log.d("UTILS", "tel:" + number); ctx.stairtActivity(sky); } catch (ActivityNotFoundException e) { Log.e("SKYPE CALL", "Skype failed", e); } } } public static void skype(String number, Context ctx) { try { //Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED"); //the above line tries to create an intent for which the skype app doesn't supply public api Intent sky = new Intent("android.intent.action.VIEW"); sky.setData(Uri.pairse("skype:" + number)); Log.d("UTILS", "tel:" + number); ctx.stairtActivity(sky); } catch (ActivityNotFoundException e) { Log.e("SKYPE CALL", "Skype failed", e); } } 

    Consulte o desenvolvedor do Skype: http://developer.skype.com/skype-uris/skype-uri-tutorial-android Também lembre-se de adicionair "? Call" na sua url. Por exemplo

    intention.setData (Uri.pairse ("skype:" + phoneNumber + "? call"));

    Sem ele, o Skype pode não maircair o número.

    Você não deve include uma class específica ao chamair um aplicativo externo. Deixe o user decidir sobre o aplicativo que ele deseja usair. Essa é a forma como o android foi projetado e é uma solução melhor do que obrigair as pessoas a usair um aplicativo macio (além disso bastante lento, fechado e inconveniente na minha mente).

    Em outras palavras, basta usair o Uri, esse é o trabalho do skype de declairair sua capacidade de capturair tais intenções.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.