Выход из приложения Android
У меня есть приложение с множеством операций, A (основной), B, C, D, E и служба, работающая в фоновом режиме... Мое приложение - это клиент, подключенный к серверу. В определенный момент сервер сообщает клиенту выйти из системы, служба получает сообщение, и теперь я должен выйти из системы и закрыть приложение. Я попытался запустить Activity A из сервиса и переопределить в A обратный вызов onNewIntent, но он никогда не запускался. Проблема в том, что мне нужен способ убить приложение из любой активности, в которой я нахожусь. Я думал, что начинать новую активность (с CLEAR_TOP) и переопределять ее onNeIntent было бы, но метод никогда не вызывался. Должен ли я использовать трансляцию и приемник в каждом упражнении? Каков правильный шаблон для решения этой ситуации?
Служба при получении сообщения:
Intent intent = new Intent(this, HomePage.class);
Bundle b = new Bundle();
b.putBoolean("VIMSANDROID_SLOGGAUTENTE", true);
intent.putExtras(b);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
А (основной):
@Override
public void onNewIntent(Intent i)
{
finish();
startActivity(i);
}
Спасибо!!!
1 ответ
Вызов метода finish() убивает только конкретную деятельность, в которой он вызывается. если вы хотите убить свое приложение, попробуйте это.
System.runFinalizersOnExit (истина); // вычеркнуто
ИЛИ ЖЕ
android.os.Process.killProcess(android.os.Process.myPid());