呼叫意图在Android中(Call intent in Android)

2019-06-24 06:35发布

我怎样才能让call按下按钮? 我得到我的电话号码从字符串EditText 。 下面是我的示例代码:

String phone = editPhone.getText().toString();
btnPhone.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                call();
            }
        });
public void call() {
    try {
        Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse(phone));
        startActivity(callIntent);
    } catch (ActivityNotFoundException activityException) {
         Log.e("myphone dialer", "Call failed", e);
    }
}

我添加了所有permissions ,以清单文件。

但我得到NullPointerexception

Answer 1:

这个简单的方法应该为你工作。

防爆。

public class CallActivity extends Activity{
   String phone = "";

   onCreate()
   {
        btnPhone.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View arg0) { 
                phone = editPhone.getText().toString(); 
                call(); 
            } 
        });    
   }

   public void call() {   
            Intent callIntent = new Intent(Intent.ACTION_CALL);          
            callIntent.setData(Uri.parse("tel:"+phone));          
            startActivity(callIntent);  
   }
}

你可能会使用字符串变量phone超出范围。



Answer 2:

我想你错过了“电话:”部分中的URI。

替换下面..

Intent callIntent = new Intent(Intent.ACTION_CALL);
        callIntent.setData(Uri.parse(phone));
        startActivity(callIntent);

Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone));
       startActivity(callIntent);

要么

Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("tel:"+phone));
            startActivity(callIntent);


Answer 3:

看看下面的代码,它可以帮助你。

呼叫

EditText num = (EditText)findViewById(R.id.number_edit);
String uri = "tel:" + num.trim();
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);

开放式拨号

Intent dial = new Intent();
dial.setAction("android.intent.action.DIAL");
dial.setData(Uri.parse("tel:"));
startActivity(dial);


Answer 4:

String PhoneNo="+923341234567"
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + PhoneNo));
startActivity(intent);

在清单中添加权限

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


Answer 5:

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse(phone));
startActivity(callIntent);

以上是您用于调用Android的电话号码,当你点击通话按钮“dilerpad” activty开始与perpopulated电话号码的唯一方法,如果您按拨号盘呼叫按钮,呼叫将去。



Answer 6:

试试这个

EditText num = (EditText)findViewById(R.id.phone_number);
String uri = "tel:" + num.trim();
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
startActivity(intent);


Answer 7:

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" +"93");
intent.setData(Uri.parse(uri));
startActivity(intent);


文章来源: Call intent in Android