Вернуться к onActivityResult после отправки SMS
Я хотел бы, чтобы для пользователя заполнилось SMS-намерение, затем запустите намерение, и после отправки SMS-сообщения вернитесь в мое приложение, чтобы продолжить выполнение кода. Итак, пока я использую это для настройки Intent:
Uri uri = Uri.parse("smsto:" + cellNumberEditText.getText().toString());
Intent smsIntent = new Intent(Intent.ACTION_SENDTO, uri);
smsIntent.putExtra("sms_body", smsMessageEditText.getText().toString());
smsIntent.putExtra("exit_on_sent", true);
startActivityForResult(smsIntent,1);
Обратите внимание, я добавляю Extra exit_on_sent
параметр для намерения.
Тогда с курса я ловлю onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
{
//Do some post sending work
}
}
Проблема в том, что после отладки я заметил, что как только запускается намерение, onActivityResult
срабатывает немедленно, а не после закрытия намерения. Кроме того, приложение SMS не закрывается после отправки, даже если этот параметр установлен. Я даже добавил android:launchMode="singleInstance"
на мой Manifest.xml. Что мне не хватает?
1 ответ
Вы должны добавить setResult(Activity.RESULT_OK, data);
а также finish();
в запрашиваемой деятельности. Последние возвращаются к активности запрашивающей стороны.