Android状态栏通知 - 选择通知时打开正确的活动

时间:2010-05-26 21:45:57

标签: android android-activity notifications

点击后,我一直遇到通知无法打开/转到正确活动的问题。

我的通知代码(位于扩展服务的类中):

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),但活动未切换。

如果我点击主屏幕上的通知,通知会消失,我的应用程序会被带到前面,但是它会保留在进入主屏幕之前打开的活动上,而不是进入主屏幕。 / p>

我做错了什么?如何指定将被提取的活动?

1 个答案:

答案 0 :(得分:14)

可能实际上回答了我自己的问题:

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