Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
furyon
7 / 7 / 0
Регистрация: 12.04.2011
Сообщений: 315
#1

StartActivity и finish - Программирование Android

18.11.2014, 21:48. Просмотров 1052. Ответов 5
Метки нет (Все метки)

Здравствуйте.

В общем надо запустить Activity а потом закрыть его из вне, хочу вот так:
Java
1
2
context.startActivity(MyActivity.getIntent());
MyActivity.finish();
но это не работает. Есть решение проблемы?

P.S. Закрывать его изнутри умею, но это мне в данной ситуации не подходит.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 21:48     StartActivity и finish
Посмотрите здесь:

BroadcastReceiver и startActivity - Программирование Android
У меня есть служба и BroadcastReceiver. Когда приходит событие, то я вызываю startService. Если служба не запущена, то она запускается и...

StartActivity() не закрывается - Программирование Android
Здравствуйте. Чтобы перейти на другую Activity можно использовать startActivity() как нить так public void onClick(View v) { Intent...

startActivity. Source not found - Программирование Android
public void openOptions() { Intent intent=new Intent(this,Game.class); startActivity(intent); } При вызове startActivity...

Ошибка приложения при вызове startActivity из другого класса - Программирование Android
Возникла проблема, программа валится при вызове метода enableBt() Класс со static методами: package my.bluetooth; import...

Приложение падает после вызова finish - Программирование Android
Подскажите плз как. Такого я чес слово не ожидал, честно искал в сети не нашел. Даже не думал что будут проблемы. switch...

Везде ли выполняется метод finish() для закрытия activity - Программирование Android
После startActivityForResult в другой activity не срабатывает метод finish();, он должен закрывать только activity?

Find:=ia[i,j]=Finish - Pascal
Find:=ia=Finish это строка обозначает if(ia=Finsh) then Find=true; else Find= false; Find - boolean так или не так я понимаю эту...

finish.exe - Удаление вирусов
переставила на работе на двух компах винду, соответственно левую, после этого, как вы догадываетесь наверное, при загрузке системы стало...

Файл C:\WINDOWS\Finish.exe - Удаление вирусов
Файл C:\WINDOWS\Finish.exe инфицирован троян BAT/DelFiles.NAG. Файл может быть удален. Рекомендуется сделать копии любых критических данных...

Нужно отсортировать массив от *start до *finish - C++
нужно отсортировать массив от *start до *finish template<class elm> void sorting(elm *st,elm *fn) { for(;st!=fn;st++) ...

Сколько сыпать моющего средства Finish в посудомойку? - Посудомоечные машины
Купили посудомоечную машину, помыла посуду, а на ней остались желтые подтеки. Позже выяснилось, что я положила слишком много моющего...

как написать запрос на нахождение мин времени в поле "Finish" ? - Delphi БД
как написать запрос на нахождение мин времени в поле "Finish" ? select * from daulet where 'Finish':=min; ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,724
19.11.2014, 15:24     StartActivity и finish #2
furyon, привет! Попробуйте в MyActivity создать метод:
Java
1
2
3
public void closeActivity() {
    finish();
}
Если его вызвать из другого места, сработает?
furyon
7 / 7 / 0
Регистрация: 12.04.2011
Сообщений: 315
19.11.2014, 15:30  [ТС]     StartActivity и finish #3
Я пробовал, не работает.

Добавлено через 1 минуту
Пока что сделал некрасивым путем, когда надо закрыть я стартую еще раз это же активити с флагом FLAG_ACTIVITY_CLEAR_TASK, и через putExtra передаю статус что мол надо закрыть. Работает только не оч красиво, вылезает новое окошко и потом только все закрывается.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
19.11.2014, 15:41     StartActivity и finish #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1. Пишем свой менеджер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import android.app.Activity;
 
import java.util.HashMap;
import java.util.Map;
 
public class FinishManager {
    private static final Map<Class<? extends Activity>, Activity> list = new HashMap<Class<? extends Activity>, Activity>();
 
    public static void addActivity(Activity activity) {
        list.put(activity.getClass(), activity);
    }
 
    public static void finishActivity(Class<? extends Activity> clazz) {
        Activity activity = list.remove(clazz);
        if (activity != null && !activity.isFinishing()) {
            activity.finish();
        }
    }
 
}
2. В активити, которую нужно закрыть:

Java
1
FinishManager.addActivity(this);
3. Из активити, которая должна закрыть:
Java
1
FinishManager.finishActivity(MyActivity.class);
furyon
7 / 7 / 0
Регистрация: 12.04.2011
Сообщений: 315
19.11.2014, 15:52  [ТС]     StartActivity и finish #5
Большое спасибо, 2е суток сидел, отчаился на форум написал. Сделал как попало, щас переделаю красиво.
Vladimirys
303 / 200 / 22
Регистрация: 16.01.2010
Сообщений: 567
19.11.2014, 16:15     StartActivity и finish #6
И такой есть вариант. Для двух активностей работает.
В первой (которую нужно закрыть из второй).
Java
1
2
3
4
public static Activity first;
В onCreate(){
first=this;
}
Во второй, из которой нужно закрыть первую.
Java
1
 Activity(имя первой активити).first.finish();
Yandex
Объявления
19.11.2014, 16:15     StartActivity и finish
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru