在片段上创建CountDownTimer。如果CountDownTimer正在运行,用户可以在应用程序内部导航或者可以在应用程序外部进行导航。无论用户何时离开CountDownTimer片段,顶部都应该有一个通知。如果用户点击通知,他应该被定向到CountDownTimer片段,并且定时器应该显示正确的倒数。下面的代码打开了创建CountDownTimer的活动。但它启动了该Activity的新实例。有什么办法让同一个活动的旧实例,以便我可以恢复从以前的状态相同的活动?启动通知上的现有活动单击
{
Notification.Builder noti = new Notification.Builder(getActivity());
noti.setContentTitle("kick counter").setSmallIcon(R.drawable.mom_ic_launcher).setAutoCancel(true);
Intent notificationIntent = new Intent(getActivity(), KickCounterActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
PendingIntent contentIntent = PendingIntent.getActivity(getActivity(), 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
noti.setContentIntent(contentIntent);
NotificationManager notifier = (NotificationManager)getActivity().getSystemService(Context.NOTIFICATION_SERVICE);
notifier.notify(1, noti.build());
}
http://android-er.blogspot.in/2013/06/start-activity-once-notification-clicked.html – 2014-11-04 12:29:31
@NaveenTamrakar链接的文章中的代码会不会阻止正在创建的活动的新实例,这是OP想要的。 – 2014-11-04 12:55:20
不要将'Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT'标志添加到'Intent'。该标志不会改变任何行为。如果活动在特定情况下被置于前台,则由Android设置。 – 2014-11-04 12:56:24