Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
10 / 10 / 2
Регистрация: 12.04.2011
Сообщений: 323

StartActivity и finish

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

Студворк — интернет-сервис помощи студентам
Здравствуйте.

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

P.S. Закрывать его изнутри умею, но это мне в данной ситуации не подходит.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2014, 21:48
Ответы с готовыми решениями:

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

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

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

5
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
19.11.2014, 15:24
furyon, привет! Попробуйте в MyActivity создать метод:
Java
1
2
3
public void closeActivity() {
    finish();
}
Если его вызвать из другого места, сработает?
0
10 / 10 / 2
Регистрация: 12.04.2011
Сообщений: 323
19.11.2014, 15:30  [ТС]
Я пробовал, не работает.

Добавлено через 1 минуту
Пока что сделал некрасивым путем, когда надо закрыть я стартую еще раз это же активити с флагом FLAG_ACTIVITY_CLEAR_TASK, и через putExtra передаю статус что мол надо закрыть. Работает только не оч красиво, вылезает новое окошко и потом только все закрывается.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
19.11.2014, 15:41
Лучший ответ Сообщение было отмечено furyon как решение

Решение

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);
2
10 / 10 / 2
Регистрация: 12.04.2011
Сообщений: 323
19.11.2014, 15:52  [ТС]
Большое спасибо, 2е суток сидел, отчаился на форум написал. Сделал как попало, щас переделаю красиво.
0
349 / 240 / 34
Регистрация: 16.01.2010
Сообщений: 766
19.11.2014, 16:15
И такой есть вариант. Для двух активностей работает.
В первой (которую нужно закрыть из второй).
Java
1
2
3
4
public static Activity first;
В onCreate(){
first=this;
}
Во второй, из которой нужно закрыть первую.
Java
1
 Activity(имя первой активити).first.finish();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.11.2014, 16:15
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru