我的电话号码位于TextView
,想要打开"意图选择器"选择我想要拨打的应用程序(Skype,Viber ......)或只是拨打以拨打电话。
Intent callIntent = new Intent(Intent.ACTION_CALL);
立即拨打电话,因此无法帮助我。
答案 0 :(得分:27)
我认为你正在寻找这样的东西:
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);
这会打开拨号器(或者如果安装了多个可以拨打电话的应用程序,则会创建一个选择器对话框)并填写号码,但实际上并未启动呼叫。有关详细信息,请参阅this answer。
答案 1 :(得分:5)
官方解决方案
示例意图:
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);
}
}
答案 2 :(得分:4)
对于kotlin
val intent = Intent(Intent.ACTION_DIAL)
intent.data = Uri.parse("tel:0123456789")
startActivity(intent)