Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Skype商务通话意向_Android_Android Intent_Skype For Business - Fatal编程技术网

Android Skype商务通话意向

Android Skype商务通话意向,android,android-intent,skype-for-business,Android,Android Intent,Skype For Business,我在Android设备上安装了Skype和Skype for Business。我想通过Skype for Business编程拨打VOIP电话。 我创造了这样的意图: Intent intent = new Intent("android.intent.action.VIEW"); intent.setData(Uri.parse("skype:" + somePhoneNumber)); context.startActivity(intent); 当我启动通话意图时,会出现一个弹出窗口

我在Android设备上安装了Skype和Skype for Business。我想通过Skype for Business编程拨打VOIP电话。 我创造了这样的意图:

Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse("skype:" +  somePhoneNumber));
context.startActivity(intent);
当我启动通话意图时,会出现一个弹出窗口:

使用完成操作:
Skype
电话
只有一次总是

Skype for Business不存在

我尝试了以下方法,但失败了(非法辩论)

我能做些什么?

如MSDN中所述,使用此项呼叫Skype以实现商业目的:

Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse("ms-sfb://call?id=" +  somePhoneNumber));
context.startActivity(intent);
如MSDN中所述,使用此项呼叫Skype以实现商业目的:

Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse("ms-sfb://call?id=" +  somePhoneNumber));
context.startActivity(intent);
我是这样做的:

strings.xml

<!-- skype -->
<string name="skype_activity_title">Skype for Business call</string>
<string name="make_skype_call">Make Skype Call</string>
<string name="video_call">Video call</string>
<string name="permission_rationale">"Contacts permissions are needed for providing email completions."</string>
<string name="skypeEmailAddress">skypeEmailAddress</string>
MainActivity.java(在按钮上单击)

我是这样做的:

strings.xml

<!-- skype -->
<string name="skype_activity_title">Skype for Business call</string>
<string name="make_skype_call">Make Skype Call</string>
<string name="video_call">Video call</string>
<string name="permission_rationale">"Contacts permissions are needed for providing email completions."</string>
<string name="skypeEmailAddress">skypeEmailAddress</string>
MainActivity.java(在按钮上单击)


由此我得到:ActivityNotFoundException:找不到处理Intent的活动{act=android.Intent.action.View dat=ms-sfb://call?id=(212)555-1212}您是否尝试过像示例一样格式化id参数<代码>“ms-sfb://call?id=+1425-555-1234“由此我得到:ActivityNotFoundException:找不到可处理Intent的活动{act=android.Intent.action.View dat=ms-sfb://call?id=(212)555-1212}您是否尝试过像示例一样格式化id参数<代码>“ms-sfb://call?id=+1425-555-1234“
<!-- Skype Activity -->
<activity
    android:name="com.somwhere.myproject.SkypeActivity"
    android:label="@string/skype_activity_title"
    android:theme="@style/Theme.AppCompat">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity"/>
</activity>
package com.somwhere.myproject;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;

public class SkypeActivity extends AppCompatActivity {

    private static final String TAG = "SkypeActivity";
    private static final int REQUEST_READ_CONTACTS = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        final String skypeEmailAddress = intent.getStringExtra(getResources().getString(R.string.skypeEmailAddress));

        setContentView(R.layout.skype);

        final EditText skypeEmailAddressText = (EditText) findViewById(R.id.skypeEmailAddress);
        skypeEmailAddressText.setText(skypeEmailAddress);

        Button skypeButton = (Button) findViewById(R.id.skype_button);

        Log.i(TAG, "skypeEmailAddress: " + skypeEmailAddress);
        final CheckBox videoCall = (CheckBox) findViewById(R.id.videoCheck);
        skypeButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String uriString = "ms-sfb://call?id=" + skypeEmailAddress;
                if (videoCall.isChecked()) {
                    uriString += "&video=true";
                }
                Uri uri = Uri.parse(uriString);
                Intent callIntent = new Intent(Intent.ACTION_VIEW, uri);
                startActivity(callIntent);
            }
        });

    }
}
Intent intent = new Intent(activity, SkypeActivity.class);
intent.putExtra(activity.getResources().getString(R.string.skypeEmailAddress), "jsmith@somewhere.com");
activity.startActivity(intent);