2013-04-30 3 views
10

Мое приложение для Android позволяет запускать из него другие установленные приложения. Это показывает некоторые разрешенные приложения. Если пользователь попытается запустить запрещенное приложение, тогда покажите сообщение и вернитесь к моей активности (с которой каждый запуск приложения) с помощью запущенных задач. Мое приложение действует как домашний пусковой механизм. Так что это намерение, если это заблокированное приложение. Например: можно запустить Camera from Gallery в устройстве Samsung. Если камера не разрешена, отображается заблокированное сообщение и выйдет на мою но при повторной запуске галереи заблокированное сообщение отображается снова, потому что верхняя активность (активность камеры) лежала в стеке.Можно ли обнаружить выход приложения?

Но выход из этих заблокированных приложений не работает отлично.

  1. Возможно ли получить событие закрытия или выхода приложения?

  2. Как я могу закончить приложение целиком (заканчивая все его приложения).

  3. Как запустить приложение без предыстории предыдущего запуска?

Заранее спасибо

ответ

14

Можно ли подобраться/выход событие приложения?

Да, это возможно в вашей LauncherActivity Вы можете overrideonDestroy этот метод будет вызываться при выходе из приложения.

How can i finish an application as whole(By finishing all its applications)? 

Я считаю, что вы хотите остановить все ваши текущие действия здесь. Это может быть достигнуто несколькими способами.

android.os.Process.killProcess(android.os.Process.myPid()); 

или

Intent intent = new Intent(getApplicationContext(), YourHomeActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

Это очистит все действия и воля приносит пользователю к HomeActivity. Вызывая это, вы можете добавить флаг в намерение и использовать это значение, вы также можете закончить HomeActivity. Используйте метод finish() для завершения операции.

Как запустить приложение без какой-либо истории предыдущего запуска?

Для достижения этой цели вы можете использовать то же решение. Второй.

Надеюсь, это поможет.

В классе приложений существует метод onTerminate, но он не может использоваться в производственной среде. Узнать больше об этом here

+1

+1 Отличный ответ. –

+0

При использовании onDestroy() здесь я обнаруживаю выход из своего приложения. Я хочу обнаружить событие закрытия других приложений, которые запускаются из моего приложения. –

+5

Wait .... Переопределить функцию onDestroy объекта LauncherActivity? Что делать, если LauncherActivity переходит к другой активности? Это также вызовет onDestroy.Мне это кажется катастрофой. Не могли бы вы поправить меня, если я ошибаюсь? – Subby

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