我怎样才能让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
这个简单的方法应该为你工作。
防爆。
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
超出范围。
我想你错过了“电话:”部分中的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);
看看下面的代码,它可以帮助你。
呼叫
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);
String PhoneNo="+923341234567"
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + PhoneNo));
startActivity(intent);
在清单中添加权限
<uses-permission android:name="android.permission.CALL_PHONE" />
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse(phone));
startActivity(callIntent);
以上是您用于调用Android的电话号码,当你点击通话按钮“dilerpad” activty开始与perpopulated电话号码的唯一方法,如果您按拨号盘呼叫按钮,呼叫将去。
试试这个
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);
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" +"93");
intent.setData(Uri.parse(uri));
startActivity(intent);