在第三方应用中使用android拨号器

时间:2010-08-17 05:25:00

标签: android

人。我正在尝试为Android构建一个voip应用程序。我想利用内置的Android手机拨号器。你们能给我一些参考吗?我一直在谷歌搜索没有运气。感谢

2 个答案:

答案 0 :(得分:8)

您需要做的是在要拨打电话的Intent上设置Activity过滤器。您可以在 AndroidManifest.xml 文件中执行此操作。修改您的活动定义以包含此意图过滤器:

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

注意:有一些替代方法可以调用人(可以在我链接的源代码的 AndroidManifest.xml 中看到,但这是主要的

添加此项将为用户提供在拨打电话时使用您的应用的选项,如果用户愿意,可以将其设置为默认应用。

然后,您可以通过在活动的onCreate()方法中添加类似此代码的内容来获取电话号码:

final Intent i = getIntent();
final Uri phoneUri = i.getData();

phoneUri 现在包含 tel:00000000000 ,您可以轻松获取Uri object

中的数字

如果您将来遇到问题,请查看android source。如果你想看一下,我从phone app source获得了这些代码。

答案 1 :(得分:0)

这应该使用新的特殊权限打开拨号程序:

Intent i = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:0000000000"));
startActivity(i);

这应该打开已插入所需电话号码的拨号器。