Завершите дочернюю активность, когда родительская активность остановится - PullRequest
4 голосов
/ 09 декабря 2010

В моей программе "А1" есть одно действие.В A1 onCreate я использую намерение вызывать активность андроида («A2»):

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK,
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI);

        startActivityForResult(contactPickerIntent, 1010);

, когда пользователь выбирает контакт, я хочу использовать информацию о контакте в A1.Все в порядке, но ...

Когда я использую "кнопку домой" в А2, А1 и А2 все еще в памяти, и если ОС убивает А1 (или я могу сделать это из диспетчера задач), А2 остаетсяработает, и когда я запускаю свою программу, я вижу СТАРЫЙ А2, и когда я выбираю контакт, я не вижу результата в А1, потому что НОВЫЙ А1 запущен и требует НОВОГО А2.я убиваю А2, когда кто-то убивает А1 по памяти.

Ответы [ 2 ]

4 голосов
/ 09 декабря 2010

Вы можете просто вызвать finishActivity (CHILD_ACTIVITY_REQUEST_CALL) в методе onStop () вашего родительского действия.

В вашем случае:

public void onStop(){
    finishActivity(1010);
}
0 голосов
/ 09 декабря 2010

Я не думаю, что вы можете спросить.
Мой плохой, как указал nbarraille, это возможно. Тем не менее, то, что я скажу ниже, о том, как работать с Android, все еще идет.

Более важно, однако, то, что это не то, что вы должны делать при работе с системой Android. Если вы немного прочитали о действиях и, в частности, о том, как работает Activity Lifecycle , вы должны получить некоторое представление об основах. Короче говоря, Android берет на себя всю ответственность за «убийство» действий, когда они больше не нужны (а другим выполняющимся действиям нужны ресурсы, которые они содержат).

Из того, что вы говорите в своем вопросе, нелегко сказать, что вызывает проблему, когда вы пытаетесь вызвать A2 во второй раз, когда запускаете A1, но я уверен, что у вас нет ничего, что вы могли бы сделать Вы сами не убили А2.

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