Вернуться к действию после завершения действия в Android? - PullRequest
14 голосов
/ 31 июля 2010

Когда я запускаю приложение SMS, используя следующие методы - все работает до момента отправки сообщения.Когда я отправляю сообщение - оно никогда не возвращается к исходной активности, если я не нажму кнопку «Назад».Как я могу запустить действие SMS, а затем, когда сообщение отправлено, родительская активность снова отображается?

Так я вызываю приложение SMS с результатом.

String message = getMessageString();
    Intent sendIntent = new Intent(Intent.ACTION_SENDTO);
    sendIntent.setData(Uri.parse("sms:" + number));
    sendIntent.putExtra("sms_body", message);
    startActivityForResult(sendIntent, INVITE_COMPLETED);

Ответы [ 3 ]

24 голосов
/ 06 марта 2013

Это возможно.Просто нужно добавить следующее дополнение к вашему намерению:

sendIntent.putExtra("exit_on_sent", true);
1 голос
/ 26 октября 2010

Вы ошиблись, возможно, вы не заметили, что вернулись к вызывающей деятельности.Вы должны предоставить код запроса при вызове субактивности.INVITE_COMPLETED звучит так, как будто он может представлять код результата.Коды результатов, такие как RESULT_OK и RESULT_CANCELED, являются предопределенными финалами класса Activity .Если вы используете

startActivityForResult(intent, MY_REQUEST_CODE);

, вы можете затем переопределить onActivityResult () и перехватить этот код запроса (который сам определен в начальной операции).Вот как это выглядит:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == MY_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
        // do something useful
        }
    }
}
1 голос
/ 31 июля 2010

Как только начатое вами действие закончено, вызывается метод onActivityResult () в вашем первом действии.Вот почему вы должны перезаписать onActivityResult () в своем первом действии и обработать там завершенные действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...