skype 4 android,调用intent

时间:2013-07-15 14:33:44

标签: android skype

我使用Intent从我的Android应用程序调用skype联系人,这是代码:

Intent skypeIntent = new Intent(Intent.ACTION_VIEW);
skypeIntent.setData(Uri.parse("skype:" + contactUserName));
skypeIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
skypeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(skypeIntent);

事情就是这个代码自上次更新skype以来一直没有工作(到版本4.0.0.19550,在nexus S上)。现在它只会让我进入“最近的行动”标签。有没有人有同样的问题?这个问题来自我的代码吗?

3 个答案:

答案 0 :(得分:3)

好吧,经过一些研究并查看了skype uri(http://dev.skype.com/skype-uri)的语法,我意识到我的代码中缺少部分链接。

所以现在要发送的数据是:

skypeIntent.setData(Uri.parse("skype:" + contactUserName + "?call"));

答案 1 :(得分:0)

我知道你可能已经找到了答案,但如果没有(对于其他开发者),你可以这样做:

   Intent skypeIntent = new Intent(Intent.ACTION_VIEW);
              skypeIntent.setData(Uri.parse("skype:" + contactUserName+ "?call&video=true"));
//make call only then use  bellow given code
 //skypeIntent.setData(Uri.parse("skype:" + contactUserName+ "?call"));
              skypeIntent.setComponent(new nentName("com.skype.raider", "com.skype.raider.Main"));
              skypeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              MainActivity.this.startActivity(skypeIntent);

然后添加AndroidManifest.xml

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

答案 2 :(得分:0)

如果您想调用聊天而不是调用:

skypeIntent.setData(Uri.parse("skype:" + contactName + "?chat"));