2016-06-24 2 views
0

В моем приложении я пытаюсь запустить несколько приложений сразу после друг друга. Эти и другие приложения в системеAndroid запускает несколько стартовых намерений

Например:

startActivity(getPackageManager().getLaunchIntentForPackage(packageInfo.packageName)); 

Если я позвоню startActivity только для Lets сказать «Application1», то приложение запускается нормально, но если я позвоню startActivity дважды подряд (Once для «Applicaiton1» и снова «Application2»), то это будет только начать второй startActivity - не отображаются ошибки, указывающий, что первый startActivity не удалось

ответ

0

ошибки не отображаются, указывающий, что первый startActivity не удалось

Это потому, что первые startActivity() преуспели.

startActivity() является асинхронным. Он возвращается немедленно, задолго до того, как начнется действие, которое вы запросили. Вызов startActivity() дважды подряд запустит оба этих действия, и пользователь закроет второй, поскольку это будет самым большим в стеке задачи.

Скорее всего, правильный ответ - «не делайте то, что вы пытаетесь сделать». Тем не менее, единственный способ сделать это, возможно, заставить его работать, - это вызывать первый startActivity(), а затем ждать, пока элемент управления вернется к вам в следующем жизненном цикле (например, onStart()), чтобы вызвать второй startActivity().

+0

Это кажется правильным, если посмотреть на вершину стека, что я вижу. Однако, если я нажму кнопку обзора, первое приложение не входит в обзор – slugibihl

+0

@GrayShadow: по умолчанию он будет в той же задаче, что и ваше приложение и второе приложение. Следовательно, по умолчанию он не будет отображаться на экране обзора. – CommonsWare

+0

Спасибо за вашу помощь до сих пор - есть ли какой-либо возможный способ сделать это в обзоре? – slugibihl

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