我不需要拨打电话号码,我只需要拨号器打开,电话号码已经显示出来。我应该使用什么意图来实现这一点?


当前回答

好吧,现在回答这个问题已经非常晚了。但如果您想在Kotlin中实现它,这里只是一个示例。

val intent = Intent(Intent.ACTION_DIAL)
intent.data = Uri.parse("tel:<number>")
startActivity(intent)

也许能帮到别人。

其他回答

使用kotlin的辅助函数:

fun openDialPad(context: Context, phoneNum: String) {
    val intent = Intent(Intent.ACTION_DIAL)
    intent.setData(Uri.parse("tel:$phoneNum"))
    context.startActivity(intent)
}

你可以这样调用Intent:

String number = "0123456789";
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:" + number));
        startActivity(intent);
<TextView
 android:id="@+id/phoneNumber"
 android:autoLink="phone"
 android:linksClickable="true"
 android:text="+91 22 2222 2222"
 />

这就是如何在拨号器上直接打开EditText标签分配的数字。

正如@ashishduh上面提到的,使用android:autoLink="phone也是一个很好的解决方案。但这个选项有一个缺点,它并不适用于所有的电话号码长度。例如,有11个号码的电话号码将无法使用此选项。解决办法是在电话号码前加上国家代码。

例子:

08034448845无效

但是+2348034448845会

相当晚的答案,但如果你有一个TextView,你正在显示电话号码,那么你不需要处理意图在所有,你可以只是使用XML属性android:autoLink="电话"和操作系统将自动启动一个ACTION_DIAL意图。