【问题标题】:How can I call a number from button press in Android?如何通过Android中的按钮拨打号码?
【发布时间】:2019-02-04 22:37:20
【问题描述】:

我是这方面的初学者,我正在努力让它发挥作用。

按下按钮时,我只是希望拨号器打开并自动输入指定的号码。

到目前为止,我已经尝试了以下方法:

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 添加到清单中。

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

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 发布应用强制关闭时得到的logcat!
  • 在清单中添加
  • 你一定要学习如何阅读你的 logcat,这对你来说比得到这个问题的答案更重要。
  • 如上所述,对这一切仍然很陌生。我将获得 logcat 设置。我知道我肯定有很多东西要学,但感谢您指出这一点。

标签: java android phone-call


【解决方案1】:
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>

【讨论】:

  • 哇!第一次使用 SO,真的没想到这么快的反应。非常感谢。这非常有效。我做了一项更改,将 ACTION_CALL 改为 ACTION_DIAL,因此它为用户提供了退出或确认通话的选项。
  • @Nucleotide 我很高兴能帮上忙。随时:)
【解决方案2】:

我认为你必须在 Manifest 中添加 &lt;uses-permission android:name="android.permission.CALL_PHONE" /&gt;

【讨论】:

    【解决方案3】:

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

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

    您不需要任何权限

    【讨论】:

      【解决方案4】:

      确保你已经添加了

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

      标记在 AndroidManifest.xml 文件中的正确级别(在 &lt;application ... /&gt; 标签但在 &lt;manifest ... /&gt; 标签内):

      【讨论】:

        【解决方案5】:

        试试这个。

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

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

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            【解决方案7】:

            在你的Android手机中转到:“设置”->“已安装应用”->“找到你的应用”->“应用权限”->“这里允许“电话权限” 希望对你有帮助

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多