我有一个 EditView,用户应该在其中输入电话号码。然后我想拿那个电话号码并在另一个活动中给它打电话/发短信。我怎么能那样做?
这是我的主要活动的一部分:
EditText editText = (EditText) findViewById(R.id.editText1);
editText.setOnClickListener(this);
}
public void onClick(View src) {
Intent serviceIntent = new Intent(this, MyService.class);
switch (src.getId()) {
case R.id.button1:
Log.d(TAG, "onClick: starting service");
EditText editText = (EditText) findViewById(R.id.editText1);
if (editText.getText().toString()==""){
Toast.makeText(getApplicationContext(), "Please enter a phone number", Toast.LENGTH_SHORT).show();
} else {
pnumber = editText.getText().toString();
startService(serviceIntent);
serviceIntent.putExtra(number, pnumber);
break;
}
}
}
}
然后在我的另一个活动中:
Bundle extras = this.getIntent().getExtras(); {
if(extras !=null)
{
String newnumber = extras.getString(number,pnumber);
Uri number = Uri.parse(newnumber);
Intent callIntent = new Intent(Intent.ACTION_CALL, number);
Intent textIntent = new Intent(Intent.ACTION_SENDTO, number);
}
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.button2:
//Log.d(TAG, "onClick: starting call");
startActivity(callIntent);
break;
case R.id.button3:
//Log.d(TAG, "onClick: start text message");
startActivity(textIntent);
break;
}
}
}
Uri 不断解析“newnumber”并给出一个由具有这些字母的数字组成的电话号码(例如,我会得到 639686237,因为 n 在 6 键上,e 在 3 键上等)它也没有识别变量 number 和 pnumber。