在通知单击上重新启动活动(不保留状态)

时间:2014-04-15 09:24:27

标签: android android-intent android-notifications

我想在通知点击上启动一个活动(重新启动,没有任何先前保留的状态)。如果此活动已经在堆栈中,请将其置于顶部但没有任何先前的状态。

到目前为止,我已经尝试将Flags设置为Passed Intent。

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|INTENT.FLAG_ACTIVITY_SINGLE_TOP) 

但是他们不能达到目的。任何建议我如何实现这一点。

2 个答案:

答案 0 :(得分:0)

你走了。

  NotificationManager notificationManager = (NotificationManager) context
        .getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);

Intent notificationIntent = new Intent(context, HomeActivity.class);

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
        | Intent.FLAG_ACTIVITY_SINGLE_TOP);

PendingIntent intent = PendingIntent.getActivity(context, 0,
        notificationIntent, 0);

notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);

在anystate中打开应用程序。

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");

startActivity(LaunchIntent);

答案 1 :(得分:0)

如果从发布中删除|Intent.FLAG_ACTIVITY_SINGLE_TOP,则应重新启动活动。

在启动标志中指定|Intent.FLAG_ACTIVITY_SINGLE_TOP会导致重用现有实例。如果删除它,现有实例将完成,并将启动一个新实例。