2016-04-24 3 views
0

У меня есть простое приложение для запуска, которое не запускает никаких приложений, просто показывает WebView. Он устанавливается как пусковая установка по умолчанию. Я не использую другие приложения на этом планшете. Когда я перезагружаю планшет, эта пусковая установка запускается так, как ожидалось. Моя проблема в том, что если я нажму кнопку «Назад» на устройстве, действие будет уничтожено, и оно будет создано снова как новое действие. Я не понимаю, в чем смысл этого поведения, поскольку активность уже видна ... Режим запуска представления - singleTask, поэтому я ожидаю, что он просто останется там, где он есть, вместо того, чтобы воссоздаваться. Как это может быть сделано? Насколько я понимаю документацию, это должно работать так, как я ожидаю, вместо того, как это происходит сейчас.Как предотвратить воссоздание активности SingleTask на кнопке «Назад»?

Система создает активность в корне новой задачи и направляет на намерение. Однако, если существует экземпляр активности, уже существующего , система направляет намерение на существующий экземпляр посредством вызова метода onNewIntent(), а не создания нового. http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

+1

Не можете вы просто переопределить onBackPressed()? –

+0

Я приму это, если вы добавите его в качестве ответа. Простое решение, отлично работает сейчас. –

+1

Хорошо, я добавлю это как ответ тогда :) –

ответ

1

Вы можете переопределить onBackPressed() и ничего не делать, как

@Override 
public void onBackPressed() { } 
+0

Я прочитал где-нибудь, что moveTaskToBack (true); должен использоваться, но он отлично работает без этого, поэтому я использую ваше решение, оно чище. –

Смежные вопросы