如何在Android中按下按钮拨打号码?

时间:2013-05-07 06:23:10

标签: java android phone-call

我非常喜欢这个,我正努力让这个工作起来。

按下按钮时,我只想让拨号器自动输入指定的号码打开。

到目前为止,我已经尝试了以下内容:

Button btn_call_us = (Button) findViewById(R.id.btn_call_us);
       btn_call_us.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:00000000"));
                startActivity(callIntent);

            }
        });

我也试过了:

Button btn_call_us = (Button) findViewById(R.id.btn_call_us);
        btn_call_us.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                String phoneno="00000000";

                Intent i=new Intent(Intent.ACTION_CALL,Uri.parse(phoneno));
                startActivity(i);

            }
        });

我已将权限ACTION_CALL添加到清单。

每当我点击“呼叫”按钮时,应用程序强制关闭。

非常感谢任何帮助。

谢谢!

7 个答案:

答案 0 :(得分:15)

String number = "12345678";
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:" +number));
    startActivity(intent);

您需要将此权限添加到清单。

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

答案 1 :(得分:2)

我认为你必须在Manifest中添加<uses-permission android:name="android.permission.CALL_PHONE" />

答案 2 :(得分:2)

如果您希望使用号码打开拨号器,请使用ACTION_DIAL

Intent i=new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + phoneno));  

您不需要任何许可

答案 3 :(得分:2)

确保添加了

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

在AndroidManifest.xml文件中的正确级别标记(在。之外)  <application ... />标记,但在<manifest ... />标记内:

答案 4 :(得分:1)

试试这个。

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneno)));

另外,在android.permission.CALL_PHONE文件中添加权限manifest

答案 5 :(得分:1)

在清单文件中添加以下内容,它应该可以正常工作 -

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

答案 6 :(得分:-2)

在您的Android手机中,转到:“设置”->“ InstalledApp”->“找到您的应用”->“应用许可”->“在此允许“电话许可” 希望对您有帮助