【发布时间】:2014-06-26 20:06:20
【问题描述】:
我正在编写一个简单的 Android 应用程序,该应用程序有一个按钮,可以对预先指定的号码进行 SIP 呼叫。我使用的是 Android 平板电脑,版本 4.0.4。我已将按钮处理程序设置为:
Button button = (Button) rootView.findViewById(R.id.btnOpenDoor);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);
}
});
我预计会弹出“您想使用哪个应用程序来拨打此号码”弹出窗口(我安装了 Zoiper 和 CSipSimple)。但它只是弹出一个对话框,询问我是否想将此号码添加到我的联系人中。我觉得这是因为我使用的是平板电脑而不是手机。我尝试将 Uri 更改为 sip:123456789 和 zoiper:123456789。我也尝试过像这样设置意图的包:
callIntent.setPackage("com.zoiper.android.app");
一切都无济于事。我的权限如下:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
有人可以帮忙吗?
编辑:我应该说,我不限于使用 Zoiper。任何 SIP 应用程序都应该这样做。但是,当我尝试从拨号器外部(使用 zoiper、skype 和实际拨号器以及其他任何支持的拨号器)拨打电话号码时,我肯定会在手机上弹出“请选择使用哪个应用程序来完成此操作”对话框拨号。
【问题讨论】:
-
Aaltan> 你解决了吗?
标签: android android-intent sip voip