Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
dell29
1 / 1 / 1
Регистрация: 06.08.2012
Сообщений: 32
1

не работает Exit из app

15.10.2013, 14:05. Просмотров 623. Ответов 8
Метки нет (Все метки)

Добрый день, мучаюсь с проблемой закрытия app. Ситуация такая есть сервис броткаст ресивер который следит за состоянием WiFi, если WiFi отключаться то из ресивера запускается Activity Duialog c флагом (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP) в которой есть кнопка Exite. Как ток я не побывал убить app из этой активити

1. Process.killProcess(Process.myPid()) - убивает и заново загружает, активити
Process.sendSignal(Process.myPid(), Process.SIGNAL_KILL);

2. mActivityManager.killBackgroundProcess(getPackageName()) - убивает, и оставляет активити пустой
mActivityManager.restartPackage(getPackageName());

3 пробовал убить все процессы для этого Package - убивает и заново загружает, активити

Наверное как следствие того что что то от приложения остается, перестал убиваться ресивер, теперь если даже в запущенных приложениях убить (свайпнуть в бок) то ресивер все равно продолжает стартовать активити с диалогом, что WiFi отсутствует.
Спасибо! Буду рад любому совету!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 14:05
Ответы с готовыми решениями:

Resolved versions for app (XX.X.X) and test app (XX.X.X) differ
Добрый день. При сборке проекта с отключенным телефоном (для запуска)...

Android.support.v4.app.FragmentActivity не работает в Android Studio
объясните пожалуйста,как в андроид студио добавить вышеуказанную...

Подключение библиотеки DLL C++: работает на примере консоли и не работает в WinForms App
Здравствуйте! Помогите начинающему бедному студенту!! Осваиваю С++. В книге...

Не работает exit(0)
В чем проблема? Никак не пойму. Если ввести 5 то программа сразу не...

Не работает exit(0) на Windows
Всем здравствуйте. Написал простую прогу нахождения функции, её ОДЗ: X∈, но при...

8
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.10.2013, 19:20 2
FLAG_ACTIVITY_CLEAR_TASK
0
dell29
1 / 1 / 1
Регистрация: 06.08.2012
Сообщений: 32
15.10.2013, 19:26  [ТС] 3
A если необходимо вернуться к таску, предположим появился WiFi
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.10.2013, 19:32 4
нет идеального способа выйти из апп, так как андроидом такое не предусмотрено.
0
dell29
1 / 1 / 1
Регистрация: 06.08.2012
Сообщений: 32
15.10.2013, 20:09  [ТС] 5
вот и я говорю - нет, а мне говорят - а ты придумай!
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.10.2013, 20:22 6
придумай и збилдай свою версию андроида?
из не идеальных - создать пустую активити которая будет запускаться с FLAG_ACTIVITY_CLEAR_TASK и сразу же закрываться и не оставлять ее в хистори.

Добавлено через 2 минуты
или объяснить что это не андроид стайл
0
dell29
1 / 1 / 1
Регистрация: 06.08.2012
Сообщений: 32
15.10.2013, 21:07  [ТС] 7
это тоже пробовал, не катит после закрытия app таким образом получается что последний таск который мы закрыли был создан фейковой Activity (чтобы очистить другие таски) а значить в недавно открытых приложениях (самая правая кнопка на Nexus) будет именно он. Короче говоря при просмотре тасков по нажатию на картинку этого таска, надо чтобы приложение снова запускалось.
Вот как то так...
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.10.2013, 23:38 8
как я говорил, можно просто не оставлять в хистори, но это тоже не идеальное решение.

Добавлено через 3 минуты
Цитата Сообщение от dell29 Посмотреть сообщение
сервис броткаст ресивер
так сервис или броткаст ресивер?
у вас много активитей? нельзя ли засунуть локальный бродкаст в каждую или в базовую активити который будет вызывать Activity Duialog методом стартАктивитиФорРезалт и в онРезалт проверять нужно ли закрыть первую активити или нет?
0
dell29
1 / 1 / 1
Регистрация: 06.08.2012
Сообщений: 32
16.10.2013, 00:36  [ТС] 9
Цитата Сообщение от V0v1k Посмотреть сообщение
как я говорил, можно просто не оставлять в хистори, но это тоже не идеальное решение.

Добавлено через 3 минуты

так сервис или броткаст ресивер?
у вас много активитей? нельзя ли засунуть локальный бродкаст в каждую или в базовую активити который будет вызывать Activity Duialog методом стартАктивитиФорРезалт и в онРезалт проверять нужно ли закрыть первую активити или нет?
Прошу прощения за сумбур я имел в виду ресивер, просто с сервисом проблема та же. Активити в app не 5 штук, хотя я хотел сделать какой то базовый класс для Активити где бы закодил что то подобное, но как то из за мнимой юзабилити с выходом, при отсутствии вайфая или других проблемах которые поймал сервис или ресивер так партачить код... Не знаю как элегантно разрулить эту проблему...
0
16.10.2013, 00:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 00:36

Не работает sys.exit()
Вот почему вот в этом коде import threading import sys class...

ZF 1.12 - Controller работает только с exit();
Как и многие тут, начинаю изучать ZF. Все бы ничего, но если из метода...

Private Sub mnuFileExit_Click() Form1.Exit End Sub не работает
После установки сервис пак 6 возникла небольшая проблема. Допустим создан меню...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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