У меня есть приложение со многими видами деятельности, A (основное), B, C, D, E и служба, работающая в фоновом режиме ... Мое приложение - это клиент, подключенный к серверу. В определенный момент сервер сообщает клиенту выйти из системы, служба получает сообщение, и теперь я должен выйти и закрыть приложение. Я попытался запустить Activity A из службы и переопределить в A обратный вызов onNewIntent, но он никогда не запускается. Проблема в том, что мне бы хотелось убить приложение, в котором я участвую. Я думал, что начать новую деятельность (с CLEAR_TOP) и переопределить ее onNeIntent было бы, но метод никогда не вызывается. Должен ли я использовать трансляцию и приемник в каждом мероприятии? Каков правильный шаблон для обработки этой ситуации?Выход из приложения для Android
Service, когда он получает сообщение:
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);
}
Спасибо !!!
Вы не должны действительно убивать приложение - скорее, перенаправить любое дальнейшее использование на операцию входа, которую пользователь может либо действовать, либо оставить в пользу чего-то еще на телефоне. –