我有一项服务显示一条通知,我希望该通知能够在用户每次按下该通知时转到我的应用程序的特定活动。通常它是用户显示的最后一个,但并非总是如此。
如果该活动之前已启动,则应返回该活动,如果没有,则应在应用程序的任务内打开该活动,并将其添加到活动任务中。
此外,在某些情况下,根据服务的逻辑,我希望更改通知的意图,以便它将针对不同的活动。
我怎么做?是否可以不创建新通知并忽略上一个通知?是否也可以不创建新任务或活动实例?
不,一旦您发送通知,就无法更改活动。
您可以在任务堆栈上启动一个 Activity,这不是问题,请查看此处教程中的通知服务:
http://blog.blundell-apps.com/notification-for-a-user-chosen-time/
您必须在通知上设置待处理意图:
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0);
// Set the info for the view that shows in the notification panel.
notification.setLatestEventInfo(this, title, text, contentIntent);
您可以看到待处理的意图采用正常意图”new Intent(this, SecondActivity.class
因此,如果您想要特定的行为(例如到达顶部而不是开始新的活动),请像通常那样添加标志以实现此意图。即FLAG_ACTIVITY_REORDER_TO_FRONT (类似的东西)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)