[英]Android how to create notification that resumes activity instead of starting a new onw
[英]Android how to create notification that resumes activity
我在接收器中收到一條通知,該通知可以正常啟動,但是會重新啟動活動(因此清除編輯文本並重置切換按鈕)如何設置它,以便在其被點擊時可以恢復活動,而不是清除並重置所有內容? 我當前的代碼不起作用。
當前代碼
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
Intent intenti= new Intent(context, Locator.class);
intenti.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
intenti, 0);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.xxxxxxnotifyicon)
.setContentTitle("xxxxxxx Link")
.setContentText("Auto Check In Complete at " + currentDateTimeString);
mBuilder.setContentIntent(contentIntent);
mBuilder.setDefaults(Notification.DEFAULT_SOUND);
mBuilder.setAutoCancel(true);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, mBuilder.build());
嘗試更換
intenti.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
有:
intenti.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
FLAG_ACTIVITY_REORDER_TO_FRONT應該使用現有的活動實例,而不是創建新的活動實例。
但是請注意,即使上面的方法對您有用,也仍然存在風險(例如,如果您通過活動調用finish()會破壞該方法)。 入門解決方案應包括將活動的&狀態保存到共享的首選項中,並在啟動時將其加載。 在這里閱讀更多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.