如何在android中以编程方式打开数字拨号盘?

时间:2012-11-09 13:42:54

标签: android buttonclick phone-call numeric-keypad

我想在Android上点击按钮时以编程方式显示数字拨号键盘(电话)。代码可用于直接拨号,但我只需要在单击按钮时显示拨号键盘。

6 个答案:

答案 0 :(得分:17)

Intent intent = new Intent(Intent.ACTION_DIAL); 
startActivity(intent); 

答案 1 :(得分:4)

Intent intent =  new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(intent);

它将显示拨号窗口检查here以获取信息

答案 2 :(得分:2)

 public void openDialPad(String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse(phoneNumber));
        startActivity(intent);
    }

答案 3 :(得分:1)

制作按钮或任何小部件示例:button1

  button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent callIntent = new Intent(Intent.ACTION_DIAL);
            callIntent.setData(Uri.parse("tel:"+button1.getText().toString().trim()));
            startActivity(callIntent);

        }
    });

在清单中添加权限:

 <uses-permission android:name="android.permission.CALL_PHONE" />

答案 4 :(得分:0)

如果要在非活动类中使用它,请创建一个类似以下的函数:

package bp;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;

import session.MyApplication;

/**
 * Created by Atiar Talukdar on 7/11/2019.
 */
public class Utils {

    public static void openDialPad(Activity activity, String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:" + phoneNumber));
        activity.startActivity(intent);
    }
}

然后从任何一个地方打电话:

Utils.openDialPad(getActivity(),data.getContactNo());

Utils.openDialPad(this,data.getContactNo());

答案 5 :(得分:0)

这是不同的,但是如果您想通过单击数字来访问拨号盘,请在xml中声明自动链接属性

android:autoLink="phone"
相关问题