Уведомление от службы работает, но активность не запущена - PullRequest
1 голос
/ 19 ноября 2011

Я пытаюсь отправить уведомление от службы и делает это успешно (уведомление отображается в строке состояния).НО, после нажатия на уведомление, чтобы посмотреть активность - я возвращаюсь на домашний мобильный экран.Кроме того, я заметил, что в режиме отладки я не обращаюсь к методу «onCreate».

Вот мой кусок кода: Код службы:

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    int icon = R.drawable.notificationicon;
    CharSequence tickerText = "Hello";
    long when = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, when);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
            new Intent(this, NotificationsActivity.class), 0);
    notification.setLatestEventInfo(this, "My notification","Hello World!", pendingIntent);
    notificationManager.notify(1, notification);

Код деятельности:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(dialogLayout);
}

1 Ответ

0 голосов
/ 03 апреля 2013

В случае, если вы хотите startActivity из получателя / службы, вы должны создать намерение, добавить флаг, уведомляющий его о начале новой задачи, и ТО затем начать действие.

адаптировать этот псевдокод:

Intent startServiceIntent = new Intent(context, com.myCorp.myApp.myClass.class);
startServiceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startServiceIntent);

Я использую это в BootReceiver для запуска приложения (, например, используйте этот BootReceiver ).

...