在片段上創建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