У меня есть 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;
}
}
}
Ури продолжает разбор «NEWNUMBER» и дает номер телефона, сделанный из чисел, которые имеют такие буквы (например, я бы получил 639686237, так как n находится на 6-м ключе, e находится на 3-х ключах и т. д.). Он также не распознает число переменных и pnumber.
Вызов 'startService()' ** после ** 'putExtra()'. –