簡體   English   中英

Android如何創建恢復活動的通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM