将值传递给android中的call-button

时间:2013-01-28 09:40:56

标签: android

我正在创建一个调用应用程序。我想在actionView中使用默认号码,并希望在移动电话按钮中传递手机号码。

这是我的代码: -

public void onClick(View arg0) {
                  // this is real calling number 
        long mobile = "tel:9999999999";
                                           // this is default number.and show in textfield of calling.
                    Uri uri = Uri.parse("tel:+919910699440");
                 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        // here i want to pass real calling num in Button. so when i press the                         
                    //calling button . button will get mobile num but not show.     

                     intent.setData(Uri.parse("tel:"+mobile));

                 startActivity(intent);


                }
谢谢你的时间。

3 个答案:

答案 0 :(得分:1)

借助以下代码,您可以拨打 ACTION_CALL Intent

int Number = 0377778888;
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + number));
startActivity(callIntent);

您还需要将此权限添加到AndroidManifest文件

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

答案 1 :(得分:1)

您有两种选择:

  • 使用Intent.ACTION_CALL

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

    这将有效拨打提供的number电话号码。请记住,此操作需要清单中的android.permission.CALL_PHONE权限:

    <uses-permission android:name="android.permission.CALL_PHONE" />
    
  • 使用Intent.ACTION_DIAL

    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + number.trim()));
    startActivity(intent);
    

    这显示已拨入number的拨号器视图,但允许用户决定是否实际拨打电话。这需要其他权限。

答案 2 :(得分:1)

试试这段代码我改变了这段代码:

 no=txt_no.getText().toString().trim();

   String URI_TEL = "tel";
           Uri uri = Uri.fromParts(URI_TEL, no, null);

            Intent intent = new Intent(Intent.ACTION_CALL,uri);
            //intent.setData(Uri.parse(no));
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            startActivity(intent);