【问题标题】:Initiating a Skype Call with Button onClick使用按钮 onClick 发起 Skype 通话
【发布时间】:2016-03-14 03:32:03
【问题描述】:

我想在单击按钮时发起 Skype 通话。我查找了几种可用的解决方案,但我猜大多数都已过时并且无法正常工作。有人可以帮我吗?我对 Android 编程很陌生。我在下面的代码中包含了。任何帮助将不胜感激。


公共类 MainActivity 扩展 AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void CallVideo(Context myContext, String mySkypeUri){

   Uri skypeUri = Uri.parse(mySkypeUri);
   Intent myIntent = new Intent(Intent.ACTION_VIEW, skypeUri);

   myIntent.setComponent(new ComponentName("com.skype.raider", "com.skype.raider.Main"));
   myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

   myContext.startActivity(myIntent);

   return;

} }


activity_main.xml

  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Video Call"
    android:id="@+id/button"
    android:layout_below="@+id/textView3"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="37dp"
    android:onClick="CallVideo"/>

【问题讨论】:

  • 你传递的uri是什么?您的方法对于启动 Skype 是正确的

标签: java android android-intent skype


【解决方案1】:

方法正确。

Skype 语音通话:

 CallVideo(getApplicationContext(), "skype:" + skypeUserName + "?call");

对于 Skype 视频通话:

CallVideo(getApplicationContext(), "skype:" + skypeUserName + "?call&video=true");

对于 Skype 聊天:

 CallVideo(getApplicationContext(), "skype:" + skypeUserName + "?chat");

Skype 电话:

 CallVideo(getApplicationContext(), "tel:" + phoneNumber);

使用 Intent.ACTION_VIEW 将打开 Skype 通话页面,但不会发起通话。

如果需要发起 Skype 电话呼叫,则意图操作需要是 Intent.ACTION_CALL 并添加权限

 <uses-permission android:name="android.permission.CALL_PHONE" />

是的,在调用意图之前不要忘记检查是否安装了 Skype。

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 2019-12-27
    • 2014-01-24
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2012-11-02
    • 2012-03-26
    • 2015-02-24
    相关资源
    最近更新 更多