Android Skype商务通话意向
我在Android设备上安装了Skype和Skype for Business。我想通过Skype for Business编程拨打VOIP电话。 我创造了这样的意图: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); 当我启动通话意图时,会出现一个弹出窗口
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);