Уведомления в строке состояния Android - открытие правильной активности при выборе уведомления - PullRequest
7 голосов
/ 27 мая 2010

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

Мой код уведомления (находится в классе, который расширяет Сервис):

Context context = getApplicationContext();

    CharSequence contentTitle = "Notification";

    CharSequence contentText = "New Notification";

    final Notification notifyDetails =
        new Notification(R.drawable.icon, "Consider yourself notified", System.currentTimeMillis());

    Intent notifyIntent = new Intent(context, MainActivity.class);

    PendingIntent intent =
          PendingIntent.getActivity(context, 0,
          notifyIntent,  PendingIntent.FLAG_UPDATE_CURRENT | Notification.FLAG_AUTO_CANCEL);

    notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent);

    ((NotificationManager)getSystemService(NOTIFICATION_SERVICE)).notify(NOTIFICATION_ID, notifyDetails);

Если щелкнуть уведомление, когда открыто приложение, создавшее службу, уведомление исчезнет (из-за FLAG_AUTO_CANCEL), но действие не переключится.

Если я щелкну уведомление на главном экране, уведомление исчезнет, ​​и мое приложение будет выведено на передний план, однако оно останется на активности, которая была открыта до перехода на главный экран, вместо перехода на главный экран.

Что я делаю не так? Как указать действие, которое будет отображаться?

1 Ответ

14 голосов
/ 27 мая 2010

Возможно, на самом деле ответил на мой вопрос:

Intent notifyIntent = new Intent(Intent.ACTION_MAIN);
notifyIntent.setClass(getApplicationContext(), Main.class);
...