安卓意图调用号码

24
我在TextView中输入了电话号码,想要打开“Intent-picker”来选择我想要使用的应用程序进行通话(如Skype、Viber...),或者直接拨打电话。但是Intent callIntent = new Intent(Intent.ACTION_CALL);会立即拨打电话,所以对我没有帮助。

1
想要打开“意图选择器”以选择应用程序或直接拨打电话--选择什么?"...立即呼叫,所以这并没有帮助我"--使用ACTION_DIAL - CommonsWare
有很多应用程序提供通话功能。因此,想从中选择并使用基本的通话功能。 - Kyryl Zotov
3个回答

45

我认为你正在寻找类似于这样的东西:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 

这将打开拨号器(如果安装了多个可以拨打电话的应用程序,则创建选择器对话框),并填入号码,但实际上不会开始呼叫。有关更多信息,请参见此答案


9

官方解决方案

示例意图:

public void dialPhoneNumber(String phoneNumber) {
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + phoneNumber));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

5

对于Kotlin

    val intent = Intent(Intent.ACTION_DIAL)
    intent.data = Uri.parse("tel:0123456789")
    startActivity(intent)

很适合 Kotlin! - Kyryl Zotov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接