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

StartActivity и finish - Android

Войти
Регистрация
Восстановить пароль
 
furyon
7 / 7 / 0
Регистрация: 12.04.2011
Сообщений: 315
18.11.2014, 21:48     StartActivity и finish #1
Здравствуйте.

В общем надо запустить 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
Посмотрите здесь:

Файл C:\WINDOWS\Finish.exe
Find:=ia[i,j]=Finish Pascal
finish.exe
Android Ошибка приложения при вызове startActivity из другого класса
как написать запрос на нахождение мин времени в поле "Finish" ? Delphi БД
Android startActivity. Source not found
C++ Нужно отсортировать массив от *start до *finish
BroadcastReceiver и startActivity Android
Сколько сыпать моющего средства Finish в посудомойку?
StartActivity() не закрывается Android
Android Везде ли выполняется метод finish() для закрытия activity
Android Приложение падает после вызова finish

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CoolMind
411 / 394 / 65
Регистрация: 06.10.2012
Сообщений: 1,701
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
 Аватар для YuraAAA
1563 / 1305 / 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
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 526
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
Ответ Создать тему
Опции темы

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