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

Mr *_*orn 7 notifications android android-activity

单击时,我一直遇到通知无法打开/转到正确活动的问题.

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

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);
Run Code Online (Sandbox Code Playgroud)

如果在创建服务的应用程序打开时单击通知,通知将消失(由于FLAG_AUTO_CANCEL),但活动未切换.

如果我从主屏幕点击通知,通知将消失,我的应用程序将被带到前面,但是它仍然在进入主屏幕之前打开的活动,而不是进入主屏幕.

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

Mr *_*orn 14

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

Intent notifyIntent = new Intent(Intent.ACTION_MAIN);
notifyIntent.setClass(getApplicationContext(), Main.class);
Run Code Online (Sandbox Code Playgroud)