В моей программе «A1» есть одно действие. В A1 onCreate я использую намерение вызывать активность андроида («A2»):
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI); startActivityForResult(contactPickerIntent, 1010);
Когда пользователь выбирает контакт, я хочу использовать информацию контакта в A1. Все в порядке, но …
Когда я использую «домашнюю кнопку» в A2, A1 и A2 в памяти, а если OS убивает A1 (или я могу сделать это из диспетчера задач), A2 работает, и когда я запускаю свою программу, я вижу OLD A2 и Когда я выбираю контакт, я не вижу результата в A1, потому что NEW A1 запускается, и он вызывает NEW A2.
Вопрос в том, как я могу убить A2, когда кто-то убивает A1 из памяти.
Вы можете просто вызвать функцию finishActivity (CHILD_ACTIVITY_REQUEST_CALL) в методе onStop () вашей родительской активности.
В твоем случае:
public void onStop(){ finishActivity(1010); }
Я не думаю, что вы спросите, возможно.
Мое плохое, как указано в nbarraille, это возможно. То, что я говорю ниже, хотя о том, как нужно работать с Android, по-прежнему идет.
Что еще более важно, так это то, что вы не должны делать что-то, работая с системой Android. Если вы немного читаете о деятельности и, в частности, о том, как работает жизненный цикл деятельности , вы должны получить некоторое представление об основах. Короче говоря, Android берет на себя всю ответственность за «убийство», когда они больше не нужны (и другим работающим действиям нужны ресурсы, которые они хранят).
Из того, что вы говорите в своем вопросе, не легко сказать, что вызывает проблему, когда вы пытаетесь позвонить A2 во второй раз, когда вы запускаете A1, но я уверен, что у вас нет ничего, что бы вы сами не делали, T убить A2.