Уведомления строки состояния Android — открытие правильного действия при выборе уведомления

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

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

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), но действие не переключится.

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

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


person Mr Zorn    schedule 26.05.2010    source источник


Ответы (1)


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

Intent notifyIntent = new Intent(Intent.ACTION_MAIN);
notifyIntent.setClass(getApplicationContext(), Main.class);
person Mr Zorn    schedule 26.05.2010
comment
Спасибо, что поделились своим ответом, не могли бы вы указать, что содержит Main.class? - person OnlyHope; 02.01.2013
comment
А что такое getApplicationContext()? - person OnlyHope; 02.01.2013
comment
Main.class будет активностью, которую вы хотите открыть/перейти. а getApplicationContext — это метод класса Activity, унаследованный от класса ContextWrapper. developer.android.com/reference/android/content/ - person Mr Zorn; 03.01.2013