我想在Android上点击按钮时以编程方式显示数字拨号键盘(电话)。代码可用于直接拨号,但我只需要在单击按钮时显示拨号键盘。
答案 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"