Как правильно, чтобы действие НЕ на переднем плане запускало другое действие в том же приложении? - PullRequest
1 голос
/ 03 августа 2011

Приложение, над которым я работаю, может получать асинхронные события в фоновом режиме.Как я разработал приложение, когда клиент получает такие события, он отправляет сообщение обработчику, которому принадлежит действие.Действия обрабатывают сообщения различными способами.В одном сценарии, когда происходит конкретное событие, когда приложение находится на переднем плане , а не , мне нужно вызвать Activity и некоторый пользовательский интерфейс для пользователя.Например, как при поступлении вызова пользовательский интерфейс ответа или отклонения выходит на передний план независимо от того, какое другое приложение активно в данный момент.Какой лучший способ сделать это?Я перечитываю документацию «Действия», «Содержание» и «Задачи», но она не всегда понятна или легко переваривается.Я также активно ищу пример кода или учебных пособий, которые делают подобные вещи, но пока мне не повезло.Любые указатели или ссылки приветствуются.

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Вы имеете в виду, как

startActivity( new Intent(this, YourClass.class), Intent.FLAG_ACTIVITY_NEW_TASK);

Редактировать: ах, у вас еще нет фона

`

private IntentFilter mNoticeFilter = new IntentFilter("com.you.yourapp.NEW_NOTICE");

private BroadcastReceiver mNoticeReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            // Do something! ie launch your activity
            startActivity( new Intent(this, YourClass.class));
        }
    };`

Когда вы создаете свою деятельность, вы можете

registerReceiver(mNoticeReceiver, mNoticeFilter);

и не забудьте unregisterReceiver(mNoticeReceiver);

см. Здесь: http://developer.android.com/reference/android/content/BroadcastReceiver.html

1 голос
/ 03 августа 2011

Похоже, вам нужен BroadcastReceiver .

...