Как я могу вывести активность на фронт из фоновой службы - PullRequest
3 голосов
/ 17 марта 2010

Прежде всего, я знаю, что моя проблема противоречит философии Android, но у меня нет выбора, это приложение будет работать на встроенном автомобильном GPS, и мне нужно предпринять действия для предотвращения автомобильной аварии, например когда это происходит вокруг пользователя. Я должен поставить другое заднее действие и вывести всплывающее предупреждение без манипуляций с пользователем, как уведомление на передней панели.

Есть ли способ вывести действие вручную на передний план, возобновив его, как при нажатии на переключатель задач Android?

Ответы [ 3 ]

4 голосов
/ 17 марта 2010

Позвоните getApplicationContext() в ваш Service, который даст вам Context, а затем запустите цель Activity как обычно.

3 голосов
/ 17 марта 2010

Это действительно должен быть комментарий к ответу Алекса, но по какой-то причине это невозможно.

Вам вообще не нужно использовать getApplicationContext(), поскольку ваш Service является Context.

Intent intent = new Intent(this, MainActivity.class);
1 голос
/ 13 июня 2017

Лучше использовать pendintIntent, потому что использование FLAG_ACTIVITY_NEW_TASK медленное и безобразное.

Context context = getApplicationContext();
        Intent intent = new Intent(context, MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        try {
            contentIntent.send();
        } catch (PendingIntent.CanceledException e) {
            e.printStackTrace();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...